diff options
author | jkim <jkim@FreeBSD.org> | 2016-03-01 22:08:28 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2016-03-01 22:08:28 +0000 |
commit | de2249f81ccf8ad3eac972b7558a16a3bab99325 (patch) | |
tree | dd0f91775301f47811f2b56ba60043ebdf64aea9 /crypto/openssl/engines/e_capi.c | |
parent | 0e774f6016f1dfb6a8f55462cc815c3b4da580b2 (diff) | |
parent | 72d32bf80dfdcfe0e69da200b66f195e919653f7 (diff) | |
download | FreeBSD-src-de2249f81ccf8ad3eac972b7558a16a3bab99325.zip FreeBSD-src-de2249f81ccf8ad3eac972b7558a16a3bab99325.tar.gz |
Merge OpenSSL 1.0.2g.
Relnotes: yes
Diffstat (limited to 'crypto/openssl/engines/e_capi.c')
-rw-r--r-- | crypto/openssl/engines/e_capi.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crypto/openssl/engines/e_capi.c b/crypto/openssl/engines/e_capi.c index f4cd2ff..6e52463 100644 --- a/crypto/openssl/engines/e_capi.c +++ b/crypto/openssl/engines/e_capi.c @@ -114,6 +114,26 @@ # define CERT_SYSTEM_STORE_CURRENT_USER 0x00010000 # endif +# ifndef ALG_SID_SHA_256 +# define ALG_SID_SHA_256 12 +# endif +# ifndef ALG_SID_SHA_384 +# define ALG_SID_SHA_384 13 +# endif +# ifndef ALG_SID_SHA_512 +# define ALG_SID_SHA_512 14 +# endif + +# ifndef CALG_SHA_256 +# define CALG_SHA_256 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256) +# endif +# ifndef CALG_SHA_384 +# define CALG_SHA_384 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384) +# endif +# ifndef CALG_SHA_512 +# define CALG_SHA_512 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512) +# endif + # include <openssl/engine.h> # include <openssl/pem.h> # include <openssl/x509v3.h> @@ -800,6 +820,18 @@ int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int m_len, } /* Convert the signature type to a CryptoAPI algorithm ID */ switch (dtype) { + case NID_sha256: + alg = CALG_SHA_256; + break; + + case NID_sha384: + alg = CALG_SHA_384; + break; + + case NID_sha512: + alg = CALG_SHA_512; + break; + case NID_sha1: alg = CALG_SHA1; break; |