diff options
author | rcritten <> | 2005-07-20 18:54:24 +0000 |
---|---|---|
committer | rcritten <> | 2005-07-20 18:54:24 +0000 |
commit | c656f456c2792bd399df72749d7cc24c4b0dfdb3 (patch) | |
tree | f54783f94853910b0f4aeb7ab0d0d4bae723c7d8 /nss_pcache.c | |
parent | 08d5d7d88f295b40eeb23bbe4149326488054ea5 (diff) | |
download | mod_nss-c656f456c2792bd399df72749d7cc24c4b0dfdb3.tar.gz mod_nss-c656f456c2792bd399df72749d7cc24c4b0dfdb3.tar.xz mod_nss-c656f456c2792bd399df72749d7cc24c4b0dfdb3.zip |
Add in support for older versions of NSS that don't have the function
PK11_TokenKeyGenWithFlags(). Older versions of NSS will only work with
software certificates when using nss_pcache. The workaround is to store
the token passwords in a file instead.
Diffstat (limited to 'nss_pcache.c')
-rw-r--r-- | nss_pcache.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/nss_pcache.c b/nss_pcache.c index 50f9684..7157a1e 100644 --- a/nss_pcache.c +++ b/nss_pcache.c @@ -146,8 +146,15 @@ CreatePk11PinStore(Pk11PinStore **out, const char *tokenName, const char *pin) } /* Generate a key and parameters to do the encryption */ +#if NSS_VMAJOR >= 3 +#if NSS_VMINOR <= 9 + store->key = PK11_KeyGen(store->slot, store->mech->type, + 0, 0, 0); +#else store->key = PK11_TokenKeyGenWithFlags(store->slot, store->mech->type, NULL, 0, NULL, CKF_ENCRYPT|CKF_DECRYPT, PR_FALSE, NULL); +#endif +#endif if (store->key == 0) { /* PR_SetError(xxx); */ |