| diff -aurN nss-3.15-prepared/lib/nss/nss.def nss-3.15/lib/nss/nss.def |
| --- nss-3.15-prepared/lib/nss/nss.def 2012-12-28 16:27:38.374784755 -0800 |
| +++ nss-3.15/lib/nss/nss.def 2012-12-28 16:28:42.605473048 -0800 |
| @@ -613,6 +613,7 @@ |
| PK11_GetPQGParamsFromPrivateKey; |
| PK11_GetPrivateKeyNickname; |
| PK11_GetPublicKeyNickname; |
| +PK11_GetCertificateNickname; |
| PK11_GetSymKeyNickname; |
| PK11_ImportDERPrivateKeyInfoAndReturnKey; |
| PK11_ImportPrivateKeyInfoAndReturnKey; |
| @@ -624,6 +625,7 @@ |
| PK11_ProtectedAuthenticationPath; |
| PK11_SetPrivateKeyNickname; |
| PK11_SetPublicKeyNickname; |
| +PK11_SetCertificateNickname; |
| PK11_SetSymKeyNickname; |
| SECKEY_DecodeDERSubjectPublicKeyInfo; |
| SECKEY_DestroyPublicKeyList; |
| diff -aurN nss-3.15-prepared/lib/pk11wrap/pk11akey.c nss-3.15/lib/pk11wrap/pk11akey.c |
| --- nss-3.15-prepared/lib/pk11wrap/pk11akey.c 2012-12-28 16:27:38.354784541 -0800 |
| +++ nss-3.15/lib/pk11wrap/pk11akey.c 2012-12-28 16:28:42.605473048 -0800 |
| @@ -1909,6 +1909,13 @@ |
| return PK11_GetObjectNickname(pubKey->pkcs11Slot,pubKey->pkcs11ID); |
| } |
| |
| +char * |
| +PK11_GetCertificateNickname(CERTCertificate *certificate) |
| +{ |
| + return PK11_GetObjectNickname(certificate->slot, |
| + certificate->pkcs11ID); |
| +} |
| + |
| SECStatus |
| PK11_SetPrivateKeyNickname(SECKEYPrivateKey *privKey, const char *nickname) |
| { |
| @@ -1923,6 +1930,13 @@ |
| pubKey->pkcs11ID,nickname); |
| } |
| |
| +SECStatus |
| +PK11_SetCertificateNickname(CERTCertificate *certificate, const char *nickname) |
| +{ |
| + return PK11_SetObjectNickname(certificate->slot, |
| + certificate->pkcs11ID,nickname); |
| +} |
| + |
| SECKEYPQGParams * |
| PK11_GetPQGParamsFromPrivateKey(SECKEYPrivateKey *privKey) |
| { |
| diff -aurN nss-3.15-prepared/lib/pk11wrap/pk11obj.c nss-3.15/lib/pk11wrap/pk11obj.c |
| --- nss-3.15-prepared/lib/pk11wrap/pk11obj.c 2012-12-28 16:27:38.354784541 -0800 |
| +++ nss-3.15/lib/pk11wrap/pk11obj.c 2012-12-28 16:28:42.605473048 -0800 |
| @@ -1410,7 +1410,10 @@ |
| slot = ((PK11SymKey *)objSpec)->slot; |
| handle = ((PK11SymKey *)objSpec)->objectID; |
| break; |
| - case PK11_TypeCert: /* don't handle cert case for now */ |
| + case PK11_TypeCert: |
| + slot = ((CERTCertificate *)objSpec)->slot; |
| + handle = ((CERTCertificate *)objSpec)->pkcs11ID; |
| + break; |
| default: |
| break; |
| } |
| @@ -1460,7 +1463,10 @@ |
| slot = ((PK11SymKey *)objSpec)->slot; |
| handle = ((PK11SymKey *)objSpec)->objectID; |
| break; |
| - case PK11_TypeCert: /* don't handle cert case for now */ |
| + case PK11_TypeCert: |
| + slot = ((CERTCertificate *)objSpec)->slot; |
| + handle = ((CERTCertificate *)objSpec)->pkcs11ID; |
| + break; |
| default: |
| break; |
| } |
| diff -aurN nss-3.15-prepared/lib/pk11wrap/pk11pub.h nss-3.15/lib/pk11wrap/pk11pub.h |
| --- nss-3.15-prepared/lib/pk11wrap/pk11pub.h 2012-12-28 16:27:38.354784541 -0800 |
| +++ nss-3.15/lib/pk11wrap/pk11pub.h 2012-12-28 16:28:42.605473048 -0800 |
| @@ -453,11 +453,14 @@ |
| char * PK11_GetSymKeyNickname(PK11SymKey *symKey); |
| char * PK11_GetPrivateKeyNickname(SECKEYPrivateKey *privKey); |
| char * PK11_GetPublicKeyNickname(SECKEYPublicKey *pubKey); |
| +char * PK11_GetCertificateNickname(CERTCertificate *certificate); |
| SECStatus PK11_SetSymKeyNickname(PK11SymKey *symKey, const char *nickname); |
| SECStatus PK11_SetPrivateKeyNickname(SECKEYPrivateKey *privKey, |
| const char *nickname); |
| SECStatus PK11_SetPublicKeyNickname(SECKEYPublicKey *pubKey, |
| const char *nickname); |
| +SECStatus PK11_SetCertificateNickname(CERTCertificate *certificate, |
| + const char *nickname); |
| |
| /* size to hold key in bytes */ |
| unsigned int PK11_GetKeyLength(PK11SymKey *key); |