equal
deleted
inserted
replaced
41 import java.util.Set; |
41 import java.util.Set; |
42 import sun.security.ssl.SupportedGroupsExtension.NamedGroup; |
42 import sun.security.ssl.SupportedGroupsExtension.NamedGroup; |
43 import sun.security.ssl.SupportedGroupsExtension.NamedGroupType; |
43 import sun.security.ssl.SupportedGroupsExtension.NamedGroupType; |
44 import sun.security.ssl.X509Authentication.X509Possession; |
44 import sun.security.ssl.X509Authentication.X509Possession; |
45 import sun.security.util.KeyUtil; |
45 import sun.security.util.KeyUtil; |
|
46 import sun.security.util.SignatureUtil; |
46 |
47 |
47 enum SignatureScheme { |
48 enum SignatureScheme { |
48 // EdDSA algorithms |
49 // EdDSA algorithms |
49 ED25519 (0x0807, "ed25519", "ed25519", |
50 ED25519 (0x0807, "ed25519", "ed25519", |
50 "ed25519", |
51 "ed25519", |
469 return null; |
470 return null; |
470 } |
471 } |
471 |
472 |
472 Signature signer = Signature.getInstance(algorithm); |
473 Signature signer = Signature.getInstance(algorithm); |
473 if (key instanceof PublicKey) { |
474 if (key instanceof PublicKey) { |
474 signer.initVerify((PublicKey)(key)); |
475 SignatureUtil.initVerifyWithParam(signer, (PublicKey)key, |
|
476 signAlgParameter); |
475 } else { |
477 } else { |
476 signer.initSign((PrivateKey)key); |
478 SignatureUtil.initSignWithParam(signer, (PrivateKey)key, |
477 } |
479 signAlgParameter, null); |
478 |
|
479 // Important note: Please don't set the parameters before signature |
|
480 // or verification initialization, so that the crypto provider can |
|
481 // be selected properly. |
|
482 if (signAlgParameter != null) { |
|
483 signer.setParameter(signAlgParameter); |
|
484 } |
480 } |
485 |
481 |
486 return signer; |
482 return signer; |
487 } |
483 } |
488 } |
484 } |