summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authornelson%bolyard.com <devnull@localhost>2007-05-05 22:47:53 +0000
committernelson%bolyard.com <devnull@localhost>2007-05-05 22:47:53 +0000
commit28b9559bf327c050e7887b7105c30898f4fd83f2 (patch)
treedc2e08254c67f63982c2bcf6f6bdd2dbbe96b37c /security
parent60de20195a82e699ec66eaa1683b4af5ed53e107 (diff)
downloadnss-hg-28b9559bf327c050e7887b7105c30898f4fd83f2.tar.gz
Bug 371160 ? Eliminate bogus PKCS12_KEY_USAGE in secoid table. r=alexei,rrelyea
Diffstat (limited to 'security')
-rw-r--r--security/nss/lib/util/secoid.c7
-rw-r--r--security/nss/lib/util/secoidt.h3
2 files changed, 7 insertions, 3 deletions
diff --git a/security/nss/lib/util/secoid.c b/security/nss/lib/util/secoid.c
index 3608b6e08..98950aeb7 100644
--- a/security/nss/lib/util/secoid.c
+++ b/security/nss/lib/util/secoid.c
@@ -387,6 +387,9 @@ CONST_OID pkcs12V1CRLBag[] = { PKCS12_V1_BAG_IDS, 0x04 };
CONST_OID pkcs12V1SecretBag[] = { PKCS12_V1_BAG_IDS, 0x05 };
CONST_OID pkcs12V1SafeContentsBag[] = { PKCS12_V1_BAG_IDS, 0x06 };
+/* The following encoding is INCORRECT, but correcting it would create a
+ * duplicate OID in the table. So, we will leave it alone.
+ */
CONST_OID pkcs12KeyUsageAttr[] = { 2, 5, 29, 15 };
CONST_OID ansix9DSASignature[] = { ANSI_X9_ALGORITHM, 0x01 };
@@ -1087,8 +1090,8 @@ const static SECOidData oids[] = {
OD( pkcs9LocalKeyID, SEC_OID_PKCS9_LOCAL_KEY_ID,
"PKCS #9 Local Key ID",
CKM_INVALID_MECHANISM, INVALID_CERT_EXTENSION ),
- OD( pkcs12KeyUsageAttr, SEC_OID_PKCS12_KEY_USAGE,
- "PKCS 12 Key Usage", CKM_INVALID_MECHANISM, INVALID_CERT_EXTENSION ),
+ OD( pkcs12KeyUsageAttr, SEC_OID_BOGUS_KEY_USAGE,
+ "Bogus Key Usage", CKM_INVALID_MECHANISM, INVALID_CERT_EXTENSION ),
OD( dhPublicKey, SEC_OID_X942_DIFFIE_HELMAN_KEY,
"Diffie-Helman Public Key", CKM_DH_PKCS_DERIVE,
INVALID_CERT_EXTENSION ),
diff --git a/security/nss/lib/util/secoidt.h b/security/nss/lib/util/secoidt.h
index 982e750a8..0d28ed99c 100644
--- a/security/nss/lib/util/secoidt.h
+++ b/security/nss/lib/util/secoidt.h
@@ -265,7 +265,7 @@ typedef enum {
SEC_OID_PKCS9_X509_CRL = 170,
SEC_OID_PKCS9_FRIENDLY_NAME = 171,
SEC_OID_PKCS9_LOCAL_KEY_ID = 172,
- SEC_OID_PKCS12_KEY_USAGE = 173,
+ SEC_OID_BOGUS_KEY_USAGE = 173,
/*Diffe Helman OIDS */
SEC_OID_X942_DIFFIE_HELMAN_KEY = 174,
@@ -428,6 +428,7 @@ typedef enum {
#define SEC_OID_SECG_EC_SECP192R1 SEC_OID_ANSIX962_EC_PRIME192V1
#define SEC_OID_SECG_EC_SECP256R1 SEC_OID_ANSIX962_EC_PRIME256V1
+#define SEC_OID_PKCS12_KEY_USAGE SEC_OID_X509_KEY_USAGE
/* fake OID for DSS sign/verify */
#define SEC_OID_SHA SEC_OID_MISS_DSS