mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-22 00:17:32 +09:00
Update NSS to 3.35-RTM
This commit is contained in:
parent
fe49ad404e
commit
66dd670b60
388 changed files with 39075 additions and 20752 deletions
|
|
@ -398,21 +398,17 @@ lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
|
|||
NSSLOWKEYPrivateKey *priv;
|
||||
SECItem pubKeySpace = { siBuffer, NULL, 0 };
|
||||
SECItem *pubKey;
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
SECItem pubKey2Space = { siBuffer, NULL, 0 };
|
||||
PLArenaPool *arena = NULL;
|
||||
#endif /* NSS_DISABLE_ECC */
|
||||
NSSLOWKEYDBHandle *keyHandle = NULL;
|
||||
|
||||
switch (key_type) {
|
||||
case CKK_RSA:
|
||||
pubKeyAttr = CKA_MODULUS;
|
||||
break;
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
case CKK_EC:
|
||||
pubKeyAttr = CKA_EC_POINT;
|
||||
break;
|
||||
#endif /* NSS_DISABLE_ECC */
|
||||
case CKK_DSA:
|
||||
case CKK_DH:
|
||||
break;
|
||||
|
|
@ -425,7 +421,6 @@ lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
|
|||
if (crv != CKR_OK)
|
||||
return crv;
|
||||
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
if (key_type == CKK_EC) {
|
||||
SECStatus rv;
|
||||
/*
|
||||
|
|
@ -448,7 +443,6 @@ lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
|
|||
pubKey = &pubKey2Space;
|
||||
}
|
||||
}
|
||||
#endif /* NSS_DISABLE_ECC */
|
||||
|
||||
PORT_Assert(pubKey->data);
|
||||
if (pubKey->data == NULL) {
|
||||
|
|
@ -469,14 +463,12 @@ lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
|
|||
/* make sure the associated private key already exists */
|
||||
/* only works if we are logged in */
|
||||
priv = nsslowkey_FindKeyByPublicKey(keyHandle, pubKey, sdb /*password*/);
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
if (priv == NULL && pubKey == &pubKey2Space) {
|
||||
/* no match on the decoded key, match the original pubkey */
|
||||
pubKey = &pubKeySpace;
|
||||
priv = nsslowkey_FindKeyByPublicKey(keyHandle, pubKey,
|
||||
sdb /*password*/);
|
||||
}
|
||||
#endif
|
||||
if (priv == NULL) {
|
||||
/* the legacy database can only 'store' public keys which already
|
||||
* have their corresponding private keys in the database */
|
||||
|
|
@ -490,10 +482,9 @@ lg_createPublicKeyObject(SDB *sdb, CK_KEY_TYPE key_type,
|
|||
|
||||
done:
|
||||
PORT_Free(pubKeySpace.data);
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
if (arena)
|
||||
if (arena) {
|
||||
PORT_FreeArena(arena, PR_FALSE);
|
||||
#endif
|
||||
}
|
||||
|
||||
return crv;
|
||||
}
|
||||
|
|
@ -613,7 +604,6 @@ lg_mkPrivKey(SDB *sdb, const CK_ATTRIBUTE *templ, CK_ULONG count,
|
|||
}
|
||||
break;
|
||||
|
||||
#ifndef NSS_DISABLE_ECC
|
||||
case CKK_EC:
|
||||
privKey->keyType = NSSLOWKEYECKey;
|
||||
crv = lg_Attribute2SSecItem(arena, CKA_EC_PARAMS, templ, count,
|
||||
|
|
@ -646,7 +636,6 @@ lg_mkPrivKey(SDB *sdb, const CK_ATTRIBUTE *templ, CK_ULONG count,
|
|||
if (rv != SECSuccess)
|
||||
crv = CKR_HOST_MEMORY;
|
||||
break;
|
||||
#endif /* NSS_DISABLE_ECC */
|
||||
|
||||
default:
|
||||
crv = CKR_KEY_TYPE_INCONSISTENT;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue