aboutsummaryrefslogtreecommitdiff
path: root/pyasn1_modules
diff options
context:
space:
mode:
authorRuss Housley <housley@vigilsec.com>2019-06-03 13:36:18 -0400
committerIlya Etingof <etingof@gmail.com>2019-06-03 19:36:18 +0200
commit3aae55e849eb11259a2b5a7333a148993d46d14e (patch)
tree6e93dae9b958c46585d3894682f2e29cb75d864b /pyasn1_modules
parent6a63d407e4b9db75aef551e6cfc69110b3b6a246 (diff)
downloadpyasn1-modules-3aae55e849eb11259a2b5a7333a148993d46d14e.tar.gz
Add support for RFC 7296 (#42)
* Add support for RFC 7296
Diffstat (limited to 'pyasn1_modules')
-rw-r--r--pyasn1_modules/rfc7296.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/pyasn1_modules/rfc7296.py b/pyasn1_modules/rfc7296.py
new file mode 100644
index 0000000..95a191a
--- /dev/null
+++ b/pyasn1_modules/rfc7296.py
@@ -0,0 +1,32 @@
+# This file is being contributed to pyasn1-modules software.
+#
+# Created by Russ Housley.
+#
+# Copyright (c) 2019, Vigil Security, LLC
+# License: http://snmplabs.com/pyasn1/license.html
+#
+# IKEv2 Certificate Bundle
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc7296.txt
+
+from pyasn1.type import namedtype
+from pyasn1.type import tag
+from pyasn1.type import univ
+
+from pyasn1_modules import rfc5280
+
+
+class CertificateOrCRL(univ.Choice):
+ pass
+
+CertificateOrCRL.componentType = namedtype.NamedTypes(
+ namedtype.NamedType('cert', rfc5280.Certificate().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
+ namedtype.NamedType('crl', rfc5280.CertificateList().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
+)
+
+
+class CertificateBundle(univ.SequenceOf):
+ pass
+
+CertificateBundle.componentType = CertificateOrCRL()