-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
from cryptography import x509 as cx509
from cryptography.x509.oid import ExtensionOID, ObjectIdentifier
from cryptography.x509.extensions import ExtensionNotFound
csr_der = b'0\x82\x04_0\x82\x03G\x02\x01\x000\x000\x82\x01"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x000\x82\x01\n\x02\x82\x01\x01\x00\xe2\xa4\xdeR\xd3\x965=\x96\x90!Fu\x15\x89bRI\xb2Y\xca\x0f\xfb\xff\xd9\xd9b@\xdf\xed\x81\xbc\xcf[o\x1a\xb8\x96\x15\xcf\xa4\xa4i\xca&\xe1"0\x15`\xae,\xcf\xa5#\xdd3\xc7"2Cs\xa2\x83\x0c\xfc\x9ei\xda|!\xf5\xb9B\xe0Sv1\xb3\x850\xc1l\x03\xd5\x96|\xa7\xcc\x9d;\xe2Su\x06\xd8\x9e\xa9\x9a\xcdfK\x7f\x03\xaa-\xbf\xd8\xab\xc2\x1auX\x0e\x82\x99`\x11\xec_\xfbr\xac4\xa1\xa7\xd5\xf9+\rZ\x9a\xd2\xa8\x1aX[b\xc3\xbcxP\xe5k\xe3\xaf\x11f[y\xe4h\xdbn\xc6\x8c\xfa\x8f\xa8%Me\x1c\x7fq*\xefqu2b\x84\xc7p\xe0\xcc\xa0W\xb6\xe1\xf4\xbc\xd9\x1c\x9e~:I]\x19\x04\xff\xfb#\xed\xf6\x9c\x1b\xec\xbab%/(\xe1Mj\xa2O\xc5\xe7D\x9dG\'\xff\xd1\xff\xb1\xb1,\xf99A\xe5S\xc2;V&\x8f\x0b.\xf1\x8c\x9a\xcbV\xd49\xfb\xd8o\x85T\xf7\xfa\xb8\xb7\x17\xdcD=6\xa0\xf9\x02\x03\x01\x00\x01\xa0\x82\x02\x180\x1c\x06\n+\x06\x01\x04\x01\x827\r\x02\x031\x0e\x16\x0c10.0.26100.20>\x06\t+\x06\x01\x04\x01\x827\x15\x14110/\x02\x01\x05\x0c\x15lt-testsf.sambaad.lan\x0c\nSAMBAAD\\sf\x0c\x07MMC.EXE0j\x06\n+\x06\x01\x04\x01\x827\r\x02\x021\\0Z\x02\x01\x01\x1eR\x00M\x00i\x00c\x00r\x00o\x00s\x00o\x00f\x00t\x00 \x00B\x00a\x00s\x00e\x00 \x00S\x00m\x00a\x00r\x00t\x00 \x00C\x00a\x00r\x00d\x00 \x00C\x00r\x00y\x00p\x00t\x00o\x00 \x00P\x00r\x00o\x00v\x00i\x00d\x00e\x00r\x03\x01\x000\x82\x01J\x06\t*\x86H\x86\xf7\r\x01\t\x0e1\x82\x01;0\x82\x0170#\x06\t+\x06\x01\x04\x01\x827\x15\x07\x04\x160\x14\x06\x0c+\x06\x01\x04\x01\x827\x15\x08\x87g\x01\x02\x01d\x02\x01\x030\x1f\x06\x03U\x1d%\x04\x180\x16\x06\x08+\x06\x01\x05\x05\x07\x03\x02\x06\n+\x06\x01\x04\x01\x827\x14\x02\x020\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x05\xe00)\x06\t+\x06\x01\x04\x01\x827\x15\n\x04\x1c0\x1a0\n\x06\x08+\x06\x01\x05\x05\x07\x03\x020\x0c\x06\n+\x06\x01\x04\x01\x827\x14\x02\x020\x81\x94\x06\t*\x86H\x86\xf7\r\x01\t\x0f\x04\x81\x860\x81\x830\x0e\x06\x08*\x86H\x86\xf7\r\x03\x02\x02\x02\x00\x800\x0e\x06\x08*\x86H\x86\xf7\r\x03\x04\x02\x02\x00\x800\x07\x06\x05+\x0e\x03\x02\x070\n\x06\x08*\x86H\x86\xf7\r\x03\x070\x0b\x06\t`\x86H\x01e\x03\x04\x01*0\x0b\x06\t`\x86H\x01e\x03\x04\x01-0\x0b\x06\t`\x86H\x01e\x03\x04\x01\x160\x0b\x06\t`\x86H\x01e\x03\x04\x01\x190\x0b\x06\t`\x86H\x01e\x03\x04\x01\x020\x0b\x06\t`\x86H\x01e\x03\x04\x01\x050\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14h,\x13pX\xba\x9d&u\xc8\x9c\xb3\xc2\rmU\x06\x90k\xac0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x97\x9fk\x0f\xc0DO\x88\xa2\xce.b\xe5Y\x85\xd0\x01)\xa82\xc4z\x1d \xde\xc5S\xfc\xb3\xa0\xe9\xe8k\xe1\xb4\xf0\x15\xbf\xa8~ E\xb3\xebZ\x0b\x7fV}\xa8\xf6Z\x81PB\x07\xa7\xb2\x83\xd90\xa5\x1f\xe85\xf1e\xa3\x1fW\xc5\r\x8d\x0b$t\xf3\x1a\xe0c\xfe\x81\x1e@~$\xce\x18c\xa9\xdf\x7f+\xfa3w\xa5\x02\xac\xf8#\xf8\x87&\xc6\xfd\x04\xc7\x8d\x88f_Y::\xea\xec\xe1T\xc2\xa5\xf8bb]c\x11\x94\xfb\x0b\xd9\ty\x8c\xf2\xb1E\x8e\xa3\x85\x1d\xfd\xe0O\x08\xb9P\xbb\x12Y\xdf\xd9\xd5\xff\x07\xf4\xde\x10\x95\x84iZ\xa7\x07\x99M\xd4\xb7EY\xc0X\x9b+B\xeb\xd7m\xb8\x11\x17\x08-\xeb<nv\x15\xc6\x04\x06M[\xfcT&\x96\x0e\xddKV\xf9\x95O\x08\x15:\xe0=\xe2.\xaf\x8e\xe1G\x0c\x9b)\xff\x95^\x01+\x0b\xbe\x87\x11\x9e \n\n\xf5\xac\x07\x18\r}\x1fD\xb2\xcb\xb1\x19\xcf\x88\xd0\xa9 \xb4\xa9\r/\xdaU\x91U'
allow_upn = []
csr = cx509.load_der_x509_csr(csr_der)
UPN_OID = ObjectIdentifier("1.3.6.1.4.1.311.20.2.3")
try:
san = csr.extensions.get_extension_for_oid(
ExtensionOID.SUBJECT_ALTERNATIVE_NAME
).value
except ExtensionNotFound :
san = []
list_upn = []
for name in san:
if isinstance(name, cx509.OtherName) and name.type_id == UPN_OID:
data = name.value
if data[0] != 0x0c:
raise ValueError("Type ASN.1 inattendu (pas un UTF8String)")
length = data[1]
list_upn.append(data[2:2 + length].decode("utf-8"))
print(list_upn)
Metadata
Metadata
Assignees
Labels
No labels