src/java.base/share/classes/sun/security/ssl/SignatureScheme.java
branchJDK-8145252-TLS13-branch
changeset 56738 0811eaea3cd4
parent 56710 f4c7a97a1275
child 56750 2b4ae319412b
equal deleted inserted replaced
56734:12e20a7d6e26 56738:0811eaea3cd4
    68                                     "EC",
    68                                     "EC",
    69                                     NamedGroup.SECP521_R1,
    69                                     NamedGroup.SECP521_R1,
    70                                     ProtocolVersion.PROTOCOLS_TO_13),
    70                                     ProtocolVersion.PROTOCOLS_TO_13),
    71 
    71 
    72     // RSASSA-PSS algorithms with public key OID rsaEncryption
    72     // RSASSA-PSS algorithms with public key OID rsaEncryption
       
    73     //
       
    74     // The minimalKeySize is calculated as (See RFC 8017 for details):
       
    75     //     hash length + salt length + 16
    73     RSA_PSS_RSAE_SHA256     (0x0804, "rsa_pss_rsae_sha256",
    76     RSA_PSS_RSAE_SHA256     (0x0804, "rsa_pss_rsae_sha256",
    74                                     "RSASSA-PSS", "RSA",
    77                                     "RSASSA-PSS", "RSA",
    75                                     SigAlgParamSpec.RSA_PSS_SHA256, 512,
    78                                     SigAlgParamSpec.RSA_PSS_SHA256, 528,
    76                                     ProtocolVersion.PROTOCOLS_OF_13),
    79                                     ProtocolVersion.PROTOCOLS_OF_13),
    77     RSA_PSS_RSAE_SHA384     (0x0805, "rsa_pss_rsae_sha384",
    80     RSA_PSS_RSAE_SHA384     (0x0805, "rsa_pss_rsae_sha384",
    78                                     "RSASSA-PSS", "RSA",
    81                                     "RSASSA-PSS", "RSA",
    79                                     SigAlgParamSpec.RSA_PSS_SHA384, 768,
    82                                     SigAlgParamSpec.RSA_PSS_SHA384, 784,
    80                                     ProtocolVersion.PROTOCOLS_OF_13),
    83                                     ProtocolVersion.PROTOCOLS_OF_13),
    81     RSA_PSS_RSAE_SHA512     (0x0806, "rsa_pss_rsae_sha512",
    84     RSA_PSS_RSAE_SHA512     (0x0806, "rsa_pss_rsae_sha512",
    82                                     "RSASSA-PSS", "RSA",
    85                                     "RSASSA-PSS", "RSA",
    83                                     SigAlgParamSpec.RSA_PSS_SHA512, 768,
    86                                     SigAlgParamSpec.RSA_PSS_SHA512, 1040,
    84                                     ProtocolVersion.PROTOCOLS_OF_13),
    87                                     ProtocolVersion.PROTOCOLS_OF_13),
    85 
    88 
    86     // RSASSA-PSS algorithms with public key OID RSASSA-PSS
    89     // RSASSA-PSS algorithms with public key OID RSASSA-PSS
       
    90     //
       
    91     // The minimalKeySize is calculated as (See RFC 8017 for details):
       
    92     //     hash length + salt length + 16
    87     RSA_PSS_PSS_SHA256      (0x0809, "rsa_pss_pss_sha256",
    93     RSA_PSS_PSS_SHA256      (0x0809, "rsa_pss_pss_sha256",
    88                                     "RSASSA-PSS", "RSASSA-PSS",
    94                                     "RSASSA-PSS", "RSASSA-PSS",
    89                                     SigAlgParamSpec.RSA_PSS_SHA256, 512,
    95                                     SigAlgParamSpec.RSA_PSS_SHA256, 528,
    90                                     ProtocolVersion.PROTOCOLS_OF_13),
    96                                     ProtocolVersion.PROTOCOLS_OF_13),
    91     RSA_PSS_PSS_SHA384      (0x080A, "rsa_pss_pss_sha384",
    97     RSA_PSS_PSS_SHA384      (0x080A, "rsa_pss_pss_sha384",
    92                                     "RSASSA-PSS", "RSASSA-PSS",
    98                                     "RSASSA-PSS", "RSASSA-PSS",
    93                                     SigAlgParamSpec.RSA_PSS_SHA384, 768,
    99                                     SigAlgParamSpec.RSA_PSS_SHA384, 784,
    94                                     ProtocolVersion.PROTOCOLS_OF_13),
   100                                     ProtocolVersion.PROTOCOLS_OF_13),
    95     RSA_PSS_PSS_SHA512      (0x080B, "rsa_pss_pss_sha512",
   101     RSA_PSS_PSS_SHA512      (0x080B, "rsa_pss_pss_sha512",
    96                                     "RSASSA-PSS", "RSASSA-PSS",
   102                                     "RSASSA-PSS", "RSASSA-PSS",
    97                                     SigAlgParamSpec.RSA_PSS_SHA512, 768,
   103                                     SigAlgParamSpec.RSA_PSS_SHA512, 1040,
    98                                     ProtocolVersion.PROTOCOLS_OF_13),
   104                                     ProtocolVersion.PROTOCOLS_OF_13),
    99 
   105 
   100     // RSASSA-PKCS1-v1_5 algorithms
   106     // RSASSA-PKCS1-v1_5 algorithms
   101     RSA_PKCS1_SHA256        (0x0401, "rsa_pkcs1_sha256", "SHA256withRSA",
   107     RSA_PKCS1_SHA256        (0x0401, "rsa_pkcs1_sha256", "SHA256withRSA",
   102                                     "RSA", null, null, 512,
   108                                     "RSA", null, null, 512,
   411             ProtocolVersion version) {
   417             ProtocolVersion version) {
   412 
   418 
   413         String keyAlgorithm = signingKey.getAlgorithm();
   419         String keyAlgorithm = signingKey.getAlgorithm();
   414         int keySize;
   420         int keySize;
   415         // Only need to check RSA algorithm at present.
   421         // Only need to check RSA algorithm at present.
   416         if (keyAlgorithm.equalsIgnoreCase("rsa")) {
   422         if (keyAlgorithm.equalsIgnoreCase("RSA") ||
       
   423                 keyAlgorithm.equalsIgnoreCase("RSASSA-PSS")) {
   417             keySize = KeyUtil.getKeySize(signingKey);
   424             keySize = KeyUtil.getKeySize(signingKey);
   418         } else {
   425         } else {
   419             keySize = Integer.MAX_VALUE;
   426             keySize = Integer.MAX_VALUE;
   420         }
   427         }
   421         for (SignatureScheme ss : schemes) {
   428         for (SignatureScheme ss : schemes) {