diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-02-13 22:15:56 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-02-13 22:15:56 +0000 |
commit | f3b8b34a882a09ff73facc4c6ce7cdcad59b8656 (patch) | |
tree | 79d6c350c61cb2c6055ac3b21d94c152a09b44ff /engines/e_capi.c | |
parent | 451758c6115bda75e299808f60c4403de86398a8 (diff) | |
download | src-test2-f3b8b34a882a09ff73facc4c6ce7cdcad59b8656.tar.gz src-test2-f3b8b34a882a09ff73facc4c6ce7cdcad59b8656.zip |
Notes
Diffstat (limited to 'engines/e_capi.c')
-rw-r--r-- | engines/e_capi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/e_capi.c b/engines/e_capi.c index bfedde0eb023..c1085b56cdab 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -1432,10 +1432,13 @@ static PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id, HCERTSTORE h static CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const char *contname, char *provname, DWORD ptype, DWORD keyspec) { CAPI_KEY *key; + DWORD dwFlags = 0; key = OPENSSL_malloc(sizeof(CAPI_KEY)); CAPI_trace(ctx, "capi_get_key, contname=%s, provname=%s, type=%d\n", contname, provname, ptype); - if (!CryptAcquireContextA(&key->hprov, contname, provname, ptype, 0)) + if(ctx->store_flags & CERT_SYSTEM_STORE_LOCAL_MACHINE) + dwFlags = CRYPT_MACHINE_KEYSET; + if (!CryptAcquireContextA(&key->hprov, contname, provname, ptype, dwFlags)) { CAPIerr(CAPI_F_CAPI_GET_KEY, CAPI_R_CRYPTACQUIRECONTEXT_ERROR); capi_addlasterror(); |