# # This file is part of pyasn1-modules software. # # Created by Russ Housley. # # Copyright (c) 2019, Vigil Security, LLC # License: http://snmplabs.com/pyasn1/license.html # # Expression of Service Names in X.509 Certificates # # ASN.1 source from: # https://www.rfc-editor.org/rfc/rfc4985.txt # from pyasn1.type import char from pyasn1.type import constraint from pyasn1.type import univ from pyasn1_modules import rfc5280 MAX = float('inf') # As specified in Appendix A.2 of RFC 4985 id_pkix = rfc5280.id_pkix id_on = id_pkix + (8, ) id_on_dnsSRV = id_on + (7, ) class SRVName(char.IA5String): subtypeSpec = constraint.ValueSizeConstraint(1, MAX) srvName = rfc5280.AnotherName() srvName['type-id'] = id_on_dnsSRV srvName['value'] = SRVName() # Map of Other Name OIDs to Other Name is added to the # ones that are in rfc5280.py _anotherNameMapUpdate = { id_on_dnsSRV: SRVName(), } rfc5280.anotherNameMap.update(_anotherNameMapUpdate)