12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #
- # 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
- #
- # Clearance Sponsor Attribute
- #
- # ASN.1 source from:
- # https://www.rfc-editor.org/rfc/rfc5917.txt
- # https://www.rfc-editor.org/errata/eid4558
- # https://www.rfc-editor.org/errata/eid5883
- #
- from pyasn1.type import char
- from pyasn1.type import constraint
- from pyasn1.type import namedtype
- from pyasn1.type import univ
- from pyasn1_modules import rfc5280
- # DirectoryString is the same as RFC 5280, except for two things:
- # 1. the length is limited to 64;
- # 2. only the 'utf8String' choice remains because the ASN.1
- # specification says: ( WITH COMPONENTS { utf8String PRESENT } )
- class DirectoryString(univ.Choice):
- componentType = namedtype.NamedTypes(
- namedtype.NamedType('utf8String', char.UTF8String().subtype(
- subtypeSpec=constraint.ValueSizeConstraint(1, 64))),
- )
- # Clearance Sponsor Attribute
- id_clearanceSponsor = univ.ObjectIdentifier((2, 16, 840, 1, 101, 2, 1, 5, 68))
- ub_clearance_sponsor = univ.Integer(64)
- at_clearanceSponsor = rfc5280.Attribute()
- at_clearanceSponsor['type'] = id_clearanceSponsor
- at_clearanceSponsor['values'][0] = DirectoryString()
- # Add to the map of Attribute Type OIDs to Attributes in rfc5280.py.
- _certificateAttributesMapUpdate = {
- id_clearanceSponsor: DirectoryString(),
- }
- rfc5280.certificateAttributesMap.update(_certificateAttributesMapUpdate)
|