about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/rsa/asn1.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/rsa/asn1.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/rsa/asn1.py')
-rw-r--r--.venv/lib/python3.12/site-packages/rsa/asn1.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/rsa/asn1.py b/.venv/lib/python3.12/site-packages/rsa/asn1.py
new file mode 100644
index 00000000..b91806fb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/rsa/asn1.py
@@ -0,0 +1,52 @@
+#  Copyright 2011 Sybren A. Stüvel <sybren@stuvel.eu>

+#

+#  Licensed under the Apache License, Version 2.0 (the "License");

+#  you may not use this file except in compliance with the License.

+#  You may obtain a copy of the License at

+#

+#      https://www.apache.org/licenses/LICENSE-2.0

+#

+#  Unless required by applicable law or agreed to in writing, software

+#  distributed under the License is distributed on an "AS IS" BASIS,

+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+#  See the License for the specific language governing permissions and

+#  limitations under the License.

+

+"""ASN.1 definitions.

+

+Not all ASN.1-handling code use these definitions, but when it does, they should be here.

+"""

+

+from pyasn1.type import univ, namedtype, tag

+

+

+class PubKeyHeader(univ.Sequence):

+    componentType = namedtype.NamedTypes(

+        namedtype.NamedType("oid", univ.ObjectIdentifier()),

+        namedtype.NamedType("parameters", univ.Null()),

+    )

+

+

+class OpenSSLPubKey(univ.Sequence):

+    componentType = namedtype.NamedTypes(

+        namedtype.NamedType("header", PubKeyHeader()),

+        # This little hack (the implicit tag) allows us to get a Bit String as Octet String

+        namedtype.NamedType(

+            "key",

+            univ.OctetString().subtype(implicitTag=tag.Tag(tagClass=0, tagFormat=0, tagId=3)),

+        ),

+    )

+

+

+class AsnPubKey(univ.Sequence):

+    """ASN.1 contents of DER encoded public key:

+

+    RSAPublicKey ::= SEQUENCE {

+         modulus           INTEGER,  -- n

+         publicExponent    INTEGER,  -- e

+    """

+

+    componentType = namedtype.NamedTypes(

+        namedtype.NamedType("modulus", univ.Integer()),

+        namedtype.NamedType("publicExponent", univ.Integer()),

+    )