]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
public-key: Add RSASSA-PSS signature scheme identifier
authorTobias Brunner <tobias@strongswan.org>
Tue, 19 Sep 2017 11:40:48 +0000 (13:40 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 8 Nov 2017 15:48:10 +0000 (16:48 +0100)
src/libstrongswan/credentials/keys/public_key.c
src/libstrongswan/credentials/keys/public_key.h
src/libstrongswan/crypto/hashers/hasher.c

index 87f7e6664b5a94b20fe443915022b063d13c0bdc..17b90b43bf63f686e29b5b68e8f23627f16b8df7 100644 (file)
@@ -42,6 +42,7 @@ ENUM(signature_scheme_names, SIGN_UNKNOWN, SIGN_BLISS_WITH_SHA3_512,
        "RSA_EMSA_PKCS1_SHA3_256",
        "RSA_EMSA_PKCS1_SHA3_384",
        "RSA_EMSA_PKCS1_SHA3_512",
+       "RSA_EMSA_PSS",
        "ECDSA_WITH_SHA1_DER",
        "ECDSA_WITH_SHA256_DER",
        "ECDSA_WITH_SHA384_DER",
@@ -146,6 +147,8 @@ signature_scheme_t signature_scheme_from_oid(int oid)
                        return SIGN_RSA_EMSA_PKCS1_SHA3_384;
                case OID_RSASSA_PKCS1V15_WITH_SHA3_512:
                        return SIGN_RSA_EMSA_PKCS1_SHA3_512;
+               case OID_RSASSA_PSS:
+                       return SIGN_RSA_EMSA_PSS;
                case OID_ECDSA_WITH_SHA1:
                case OID_EC_PUBLICKEY:
                        return SIGN_ECDSA_WITH_SHA1_DER;
@@ -210,6 +213,8 @@ int signature_scheme_to_oid(signature_scheme_t scheme)
                        return OID_RSASSA_PKCS1V15_WITH_SHA3_384;
                case SIGN_RSA_EMSA_PKCS1_SHA3_512:
                        return OID_RSASSA_PKCS1V15_WITH_SHA3_384;
+               case SIGN_RSA_EMSA_PSS:
+                       return OID_RSASSA_PSS;
                case SIGN_ECDSA_WITH_SHA1_DER:
                        return OID_ECDSA_WITH_SHA1;
                case SIGN_ECDSA_WITH_SHA256_DER:
@@ -332,6 +337,7 @@ key_type_t key_type_from_signature_scheme(signature_scheme_t scheme)
                case SIGN_RSA_EMSA_PKCS1_SHA3_256:
                case SIGN_RSA_EMSA_PKCS1_SHA3_384:
                case SIGN_RSA_EMSA_PKCS1_SHA3_512:
+               case SIGN_RSA_EMSA_PSS:
                        return KEY_RSA;
                case SIGN_ECDSA_WITH_SHA1_DER:
                case SIGN_ECDSA_WITH_SHA256_DER:
index 06c1aa488d6e74b44dbd92dfc6c6e1abb51dee7b..32cb0c3a06d002a25fb6ea744ae9b40f9f33c207 100644 (file)
@@ -89,6 +89,8 @@ enum signature_scheme_t {
        SIGN_RSA_EMSA_PKCS1_SHA3_384,
        /** EMSA-PKCS1_v1.5 signature as in PKCS#1 using RSA and SHA-3_512 */
        SIGN_RSA_EMSA_PKCS1_SHA3_512,
+       /** EMSA-PSS signature as in PKCS#1 using RSA                      */
+       SIGN_RSA_EMSA_PSS,
        /** ECDSA with SHA-1 using DER encoding as in RFC 3279             */
        SIGN_ECDSA_WITH_SHA1_DER,
        /** ECDSA with SHA-256 using DER encoding as in RFC 3279           */
index 6b5c05c46964d6c24669801d07320378513060c3..3f49f36000383a5a37d4d6622a1001be1c8a661a 100644 (file)
@@ -452,6 +452,7 @@ hash_algorithm_t hasher_from_signature_scheme(signature_scheme_t scheme)
                case SIGN_UNKNOWN:
                case SIGN_RSA_EMSA_PKCS1_NULL:
                case SIGN_ECDSA_WITH_NULL:
+               case SIGN_RSA_EMSA_PSS:
                        break;
                case SIGN_ED25519:
                case SIGN_ED448: