diff options
author | Russ Housley <housley@vigilsec.com> | 2019-11-15 13:13:04 -0500 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2019-11-15 19:13:04 +0100 |
commit | f2c70a401ccb1af92267f285f43c09ea9cd093e7 (patch) | |
tree | 2a7ef07231d16624d6e4f8384f36f41ee5e59fa6 /pyasn1_modules | |
parent | bab198ce0c1dd61c46c112684b0ebb0688ea9eec (diff) | |
download | platform_external_python_pyasn1-modules-f2c70a401ccb1af92267f285f43c09ea9cd093e7.tar.gz platform_external_python_pyasn1-modules-f2c70a401ccb1af92267f285f43c09ea9cd093e7.tar.bz2 platform_external_python_pyasn1-modules-f2c70a401ccb1af92267f285f43c09ea9cd093e7.zip |
Add support for RFC 4334 and fix errata for RFC 3770 (#105)
Diffstat (limited to 'pyasn1_modules')
-rw-r--r-- | pyasn1_modules/rfc3770.py | 14 | ||||
-rw-r--r-- | pyasn1_modules/rfc4334.py | 75 |
2 files changed, 88 insertions, 1 deletions
diff --git a/pyasn1_modules/rfc3770.py b/pyasn1_modules/rfc3770.py index a347fb3..3fefe1d 100644 --- a/pyasn1_modules/rfc3770.py +++ b/pyasn1_modules/rfc3770.py @@ -11,6 +11,7 @@ # # ASN.1 source from: # https://www.rfc-editor.org/rfc/rfc3770.txt +# https://www.rfc-editor.org/errata/eid234 # from pyasn1.type import constraint @@ -49,8 +50,9 @@ SSIDList.subtypeSpec=constraint.ValueSizeConstraint(1, MAX) # Wireless LAN SSID Attribute Certificate Attribute # Uses same syntax as the certificate extension: SSIDList +# Correction for https://www.rfc-editor.org/errata/eid234 -id_aca_wlanSSID = univ.ObjectIdentifier('1.3.6.1.5.5.7.10.6') +id_aca_wlanSSID = univ.ObjectIdentifier('1.3.6.1.5.5.7.10.7') # Map of Certificate Extension OIDs to Extensions @@ -61,3 +63,13 @@ _certificateExtensionsMap = { } rfc5280.certificateExtensionsMap.update(_certificateExtensionsMap) + + +# Map of AttributeType OIDs to AttributeValue added to the +# ones that are in rfc5280.py + +_certificateAttributesMapUpdate = { + id_aca_wlanSSID: SSIDList(), +} + +rfc5280.certificateAttributesMap.update(_certificateAttributesMapUpdate) diff --git a/pyasn1_modules/rfc4334.py b/pyasn1_modules/rfc4334.py new file mode 100644 index 0000000..44cd31b --- /dev/null +++ b/pyasn1_modules/rfc4334.py @@ -0,0 +1,75 @@ +# +# This file is part of pyasn1-modules software. +# +# Created by Russ Housley with assistance from asn1ate v.0.6.0. +# +# Copyright (c) 2019, Vigil Security, LLC +# License: http://snmplabs.com/pyasn1/license.html +# +# Certificate Extensions and Attributes Supporting Authentication +# in PPP and Wireless LAN Networks +# +# ASN.1 source from: +# https://www.rfc-editor.org/rfc/rfc4334.txt +# + +from pyasn1.type import constraint +from pyasn1.type import univ + +from pyasn1_modules import rfc5280 + +MAX = float('inf') + + +# OID Arcs + +id_pe = univ.ObjectIdentifier('1.3.6.1.5.5.7.1') + +id_kp = univ.ObjectIdentifier('1.3.6.1.5.5.7.3') + +id_aca = univ.ObjectIdentifier('1.3.6.1.5.5.7.10') + + +# Extended Key Usage Values + +id_kp_eapOverPPP = id_kp + (13, ) + +id_kp_eapOverLAN = id_kp + (14, ) + + +# Wireless LAN SSID Extension + +id_pe_wlanSSID = id_pe + (13, ) + +class SSID(univ.OctetString): + constraint.ValueSizeConstraint(1, 32) + + +class SSIDList(univ.SequenceOf): + componentType = SSID() + subtypeSpec=constraint.ValueSizeConstraint(1, MAX) + + +# Wireless LAN SSID Attribute Certificate Attribute + +id_aca_wlanSSID = id_aca + (7, ) + + +# Map of Certificate Extension OIDs to Extensions +# To be added to the ones that are in rfc5280.py + +_certificateExtensionsMap = { + id_pe_wlanSSID: SSIDList(), +} + +rfc5280.certificateExtensionsMap.update(_certificateExtensionsMap) + + +# Map of AttributeType OIDs to AttributeValue added to the +# ones that are in rfc5280.py + +_certificateAttributesMapUpdate = { + id_aca_wlanSSID: SSIDList(), +} + +rfc5280.certificateAttributesMap.update(_certificateAttributesMapUpdate) |