def test_read(self): if verbose: print("test_read") create_pk12(cert_nickname, pk12_filename) slot = nss.get_internal_key_slot() pkcs12 = nss.PKCS12Decoder(pk12_filename, pk12_passwd, slot) self.assertEqual(len(pkcs12), 3) cert_bag_count = 0 key_seen = None for bag in pkcs12: if bag.type == nss.SEC_OID_PKCS12_V1_CERT_BAG_ID: self.assertIsNone(bag.shroud_algorithm_id) cert_bag_count += 1 if key_seen is None: key_seen = bag.has_key elif key_seen is True: self.assertIs(bag.has_key, False) elif key_seen is False: self.assertIs(bag.has_key, True) else: self.fail( "unexpected has_key for bag type = %s(%d)" % (bag.has_key, nss.oid_tag_name(bag.type), bag.type) ) elif bag.type == nss.SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID: self.assertIsInstance(bag.shroud_algorithm_id, nss.AlgorithmID) self.assertIs(bag.has_key, False) else: self.fail("unexpected bag type = %s(%d)" % (nss.oid_tag_name(bag.type), bag.type)) self.assertEqual(cert_bag_count, 2)
def test_read(self): if verbose: print("test_read") create_pk12(cert_nickname, pk12_filename) slot = nss.get_internal_key_slot() pkcs12 = nss.PKCS12Decoder(pk12_filename, pk12_passwd, slot) self.assertEqual(len(pkcs12), 3) cert_bag_count = 0 key_seen = None for bag in pkcs12: if bag.type == nss.SEC_OID_PKCS12_V1_CERT_BAG_ID: self.assertIsNone(bag.shroud_algorithm_id) cert_bag_count += 1 if key_seen is None: key_seen = bag.has_key elif key_seen is True: self.assertIs(bag.has_key, False) elif key_seen is False: self.assertIs(bag.has_key, True) else: self.fail("unexpected has_key for bag type = %s(%d)" % (bag.has_key, nss.oid_tag_name(bag.type), bag.type)) elif bag.type == nss.SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID: self.assertIsInstance(bag.shroud_algorithm_id, nss.AlgorithmID) self.assertIs(bag.has_key, False) else: self.fail("unexpected bag type = %s(%d)" % (nss.oid_tag_name(bag.type), bag.type)) self.assertEqual(cert_bag_count, 2)
def test_oid(self): self.assertEqual(nss.oid_str('2.5.4.3'), 'X520 Common Name') self.assertEqual(nss.oid_str(nss.SEC_OID_AVA_COMMON_NAME), 'X520 Common Name') self.assertEqual(nss.oid_str('SEC_OID_AVA_COMMON_NAME'), 'X520 Common Name') self.assertEqual(nss.oid_str('AVA_COMMON_NAME'), 'X520 Common Name') self.assertEqual(nss.oid_str('cn'), 'X520 Common Name') self.assertEqual(nss.oid_tag_name('2.5.4.3'), 'SEC_OID_AVA_COMMON_NAME') self.assertEqual(nss.oid_tag_name(nss.SEC_OID_AVA_COMMON_NAME), 'SEC_OID_AVA_COMMON_NAME') self.assertEqual(nss.oid_tag_name('SEC_OID_AVA_COMMON_NAME'), 'SEC_OID_AVA_COMMON_NAME') self.assertEqual(nss.oid_tag_name('AVA_COMMON_NAME'), 'SEC_OID_AVA_COMMON_NAME') self.assertEqual(nss.oid_tag_name('cn'), 'SEC_OID_AVA_COMMON_NAME') self.assertEqual(nss.oid_dotted_decimal('2.5.4.3'), 'OID.2.5.4.3') self.assertEqual(nss.oid_dotted_decimal(nss.SEC_OID_AVA_COMMON_NAME), 'OID.2.5.4.3') self.assertEqual(nss.oid_dotted_decimal('SEC_OID_AVA_COMMON_NAME'), 'OID.2.5.4.3') self.assertEqual(nss.oid_dotted_decimal('AVA_COMMON_NAME'), 'OID.2.5.4.3') self.assertEqual(nss.oid_dotted_decimal('cn'), 'OID.2.5.4.3') self.assertEqual(nss.oid_tag('2.5.4.3'), nss.SEC_OID_AVA_COMMON_NAME) self.assertEqual(nss.oid_tag(nss.SEC_OID_AVA_COMMON_NAME), nss.SEC_OID_AVA_COMMON_NAME) self.assertEqual(nss.oid_tag('SEC_OID_AVA_COMMON_NAME'), nss.SEC_OID_AVA_COMMON_NAME) self.assertEqual(nss.oid_tag('AVA_COMMON_NAME'), nss.SEC_OID_AVA_COMMON_NAME) self.assertEqual(nss.oid_tag('cn'), nss.SEC_OID_AVA_COMMON_NAME)