def test_wrong_email(self): if six.PY2: msg = "The label user@ is not a valid A-label" else: msg = "The label b'user@' is not a valid A-label" with self.assertRaisesRegex(IDNAError, msg): parse_general_name('user@') with self.assertRaisesRegex(ValueError, '^Invalid domain: $'): parse_general_name('email:user@')
def test_otherName_octetString(self): self.assertEqual( parse_general_name( 'otherName:1.3.6.1.4.1.311.25.1;OctetString:09CFF1A8F6DEFD4B85CE95FFA1B54217' ), x509.OtherName( x509.oid.ObjectIdentifier('1.3.6.1.4.1.311.25.1'), b'\x04\x10\t\xcf\xf1\xa8\xf6\xde\xfdK\x85\xce\x95\xff\xa1\xb5B\x17' ))
def test_wildcard_domain(self): self.assertEqual(parse_general_name('*.example.com'), x509.DNSName(u'*.example.com')) self.assertEqual(parse_general_name('DNS:*.example.com'), x509.DNSName(u'*.example.com')) # Wildcard subdomains are allowed in DNS entries, however RFC 2595 limits their use to a single # wildcard in the outermost level msg = '^The label b?\'?\*\'? is not a valid A-label$' with self.assertRaisesRegex(IDNAError, msg): parse_general_name(u'test.*.example.com') with self.assertRaisesRegex(IDNAError, msg): parse_general_name(u'*.*.example.com') with self.assertRaisesRegex(IDNAError, msg): parse_general_name(u'example.com.*')
def test_error(self): with self.assertRaisesRegex(ValueError, '^Could not parse IP address\.$'): parse_general_name('ip:1.2.3.4/24')
def test_ipv6_network(self): self.assertEqual(parse_general_name('fd00::0/32'), x509.IPAddress(ipaddress.ip_network(u'fd00::0/32'))) self.assertEqual(parse_general_name('ip:fd00::0/32'), x509.IPAddress(ipaddress.ip_network(u'fd00::0/32')))
def test_ipv4_network(self): self.assertEqual(parse_general_name('1.2.3.0/24'), x509.IPAddress(ipaddress.ip_network(u'1.2.3.0/24'))) self.assertEqual(parse_general_name('ip:1.2.3.0/24'), x509.IPAddress(ipaddress.ip_network(u'1.2.3.0/24')))
def test_ipv4(self): self.assertEqual(parse_general_name('1.2.3.4'), x509.IPAddress(ipaddress.ip_address(u'1.2.3.4'))) self.assertEqual(parse_general_name('ip:1.2.3.4'), x509.IPAddress(ipaddress.ip_address(u'1.2.3.4')))