]> Cypherpunks.ru repositories - pygost.git/blobdiff - pygost/asn1schemas/x509.py
Example X.509 self-signed certificate creation utility
[pygost.git] / pygost / asn1schemas / x509.py
index 7e3938591e4e0c70d7e8c5396358333c47c470c5..bbeca669c5f5f3412a1ddfa0135c6fb62a1a912a 100644 (file)
@@ -1,11 +1,10 @@
 # coding: utf-8
 # PyGOST -- Pure Python GOST cryptographic functions library
-# Copyright (C) 2015-2019 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2015-2020 Sergey Matveev <stargrave@stargrave.org>
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# the Free Software Foundation, version 3 of the License.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -113,6 +112,19 @@ class Validity(Sequence):
     )
 
 
+id_tc26_gost_28147_param_Z = ObjectIdentifier("1.2.643.7.1.2.5.1.1")
+
+
+class GostR34102012PublicKeyParameters(Sequence):
+    schema = (
+        ("publicKeyParamSet", ObjectIdentifier()),
+        ("digestParamSet", ObjectIdentifier()),
+        ("encryptionParamSet", ObjectIdentifier(
+            default=id_tc26_gost_28147_param_Z,
+        )),
+    )
+
+
 class SubjectPublicKeyInfo(Sequence):
     schema = (
         ("algorithm", AlgorithmIdentifier()),
@@ -124,6 +136,14 @@ class UniqueIdentifier(BitString):
     pass
 
 
+class KeyIdentifier(OctetString):
+    pass
+
+
+class SubjectKeyIdentifier(KeyIdentifier):
+    pass
+
+
 class Extension(Sequence):
     schema = (
         ("extnID", ObjectIdentifier()),