aboutsummaryrefslogtreecommitdiff
path: root/pyasn1_modules
diff options
context:
space:
mode:
authorRuss Housley <housley@vigilsec.com>2019-04-23 10:32:49 -0400
committerIlya Etingof <etingof@gmail.com>2019-04-23 16:32:49 +0200
commit80f2715c3a5c29d439be05013c43729e58d04c77 (patch)
tree63e4fd4cd261500f7521c5352f5e53683d30f0d7 /pyasn1_modules
parent4b0192d6ab96525c1050e6a43dc8682f76c09563 (diff)
downloadpyasn1-modules-80f2715c3a5c29d439be05013c43729e58d04c77.tar.gz
Add RFC3565 (#26)
Implements the use of the Elliptic Curve Diffie-Hellman Key Agreement Algorithm with X25519 and X448 in the Cryptographic Message Syntax (CMS)
Diffstat (limited to 'pyasn1_modules')
-rw-r--r--pyasn1_modules/rfc3565.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/pyasn1_modules/rfc3565.py b/pyasn1_modules/rfc3565.py
new file mode 100644
index 0000000..0833480
--- /dev/null
+++ b/pyasn1_modules/rfc3565.py
@@ -0,0 +1,41 @@
+# 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
+#
+# Use of the Elliptic Curve Diffie-Hellman Key Agreement Algorithm
+# with X25519 and X448 in the Cryptographic Message Syntax (CMS)
+#
+# ASN.1 source from:
+# https://www.rfc-editor.org/rfc/rfc3565.txt
+
+
+from pyasn1.type import univ, constraint
+
+from pyasn1_modules import rfc5280
+
+
+class AlgorithmIdentifier(rfc5280.AlgorithmIdentifier):
+ pass
+
+
+class AES_IV(univ.OctetString):
+ pass
+
+AES_IV.subtypeSpec = constraint.ValueSizeConstraint(16, 16)
+
+
+id_aes128_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.2')
+
+id_aes192_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.22')
+
+id_aes256_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.42')
+
+
+id_aes128_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.5')
+
+id_aes192_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.25')
+
+id_aes256_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.45')