From 0d12006def5a4eda4b2d00f4b6a6ac2446103128 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Sun, 22 Jun 2008 17:41:07 +0000 Subject: [PATCH] support of ECDSA signatures for all certificate types --- src/libstrongswan/plugins/x509/x509_ac.c | 3 +++ src/libstrongswan/plugins/x509/x509_crl.c | 3 +++ src/libstrongswan/plugins/x509/x509_ocsp_request.c | 4 ++++ src/libstrongswan/plugins/x509/x509_ocsp_response.c | 3 +++ 4 files changed, 13 insertions(+) diff --git a/src/libstrongswan/plugins/x509/x509_ac.c b/src/libstrongswan/plugins/x509/x509_ac.c index 4a9e1cd7b..cfa38c66b 100644 --- a/src/libstrongswan/plugins/x509/x509_ac.c +++ b/src/libstrongswan/plugins/x509/x509_ac.c @@ -796,6 +796,9 @@ static bool issued_by(private_x509_ac_t *this, certificate_t *issuer) case OID_SHA512_WITH_RSA: scheme = SIGN_RSA_EMSA_PKCS1_SHA512; break; + case OID_ECDSA_WITH_SHA1: + scheme = SIGN_ECDSA_WITH_SHA1; + break; default: return FALSE; } diff --git a/src/libstrongswan/plugins/x509/x509_crl.c b/src/libstrongswan/plugins/x509/x509_crl.c index 15ca74bb6..83496cb91 100644 --- a/src/libstrongswan/plugins/x509/x509_crl.c +++ b/src/libstrongswan/plugins/x509/x509_crl.c @@ -452,6 +452,9 @@ static bool issued_by(private_x509_crl_t *this, certificate_t *issuer) case OID_SHA512_WITH_RSA: scheme = SIGN_RSA_EMSA_PKCS1_SHA512; break; + case OID_ECDSA_WITH_SHA1: + scheme = SIGN_ECDSA_WITH_SHA1; + break; default: return FALSE; } diff --git a/src/libstrongswan/plugins/x509/x509_ocsp_request.c b/src/libstrongswan/plugins/x509/x509_ocsp_request.c index 9f27f2306..0fc5b9df5 100644 --- a/src/libstrongswan/plugins/x509/x509_ocsp_request.c +++ b/src/libstrongswan/plugins/x509/x509_ocsp_request.c @@ -267,6 +267,10 @@ static chunk_t build_optionalSignature(private_x509_ocsp_request_t *this, oid = OID_SHA1_WITH_RSA; scheme = SIGN_RSA_EMSA_PKCS1_SHA1; break; + case KEY_ECDSA: + oid = OID_ECDSA_WITH_SHA1; + scheme = SIGN_ECDSA_WITH_SHA1; + break; default: DBG1("unable to sign OCSP request, %N signature not supported", key_type_names, this->key->get_type(this->key)); diff --git a/src/libstrongswan/plugins/x509/x509_ocsp_response.c b/src/libstrongswan/plugins/x509/x509_ocsp_response.c index 3c28ba0c1..3fd293d15 100644 --- a/src/libstrongswan/plugins/x509/x509_ocsp_response.c +++ b/src/libstrongswan/plugins/x509/x509_ocsp_response.c @@ -745,6 +745,9 @@ static bool issued_by(private_x509_ocsp_response_t *this, certificate_t *issuer) case OID_SHA512_WITH_RSA: scheme = SIGN_RSA_EMSA_PKCS1_SHA512; break; + case OID_ECDSA_WITH_SHA1: + scheme = SIGN_ECDSA_WITH_SHA1; + break; default: return FALSE; }