]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - tests/test_crl.py
New performance measurements
[pyderasn.git] / tests / test_crl.py
diff --git a/tests/test_crl.py b/tests/test_crl.py
new file mode 100644 (file)
index 0000000..7368d7f
--- /dev/null
@@ -0,0 +1,62 @@
+# coding: utf-8
+# PyDERASN -- Python ASN.1 DER codec with abstract structures
+# Copyright (C) 2017-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 Lesser General Public License as
+# published by 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program.  If not, see
+# <http://www.gnu.org/licenses/>.
+"""CRL related schemes, just to test the performance with them
+"""
+
+from pyderasn import BitString
+from pyderasn import Sequence
+from pyderasn import SequenceOf
+from pyderasn import tag_ctxc
+
+from tests.test_crts import AlgorithmIdentifier
+from tests.test_crts import CertificateSerialNumber
+from tests.test_crts import Extensions
+from tests.test_crts import Name
+from tests.test_crts import Time
+from tests.test_crts import Version
+
+
+class RevokedCertificate(Sequence):
+    schema = (
+        ("userCertificate", CertificateSerialNumber()),
+        ("revocationDate", Time()),
+        ("crlEntryExtensions", Extensions(optional=True)),
+    )
+
+
+class RevokedCertificates(SequenceOf):
+    schema = RevokedCertificate()
+
+
+class TBSCertList(Sequence):
+    schema = (
+        ("version", Version(optional=True)),
+        ("signature", AlgorithmIdentifier()),
+        ("issuer", Name()),
+        ("thisUpdate", Time()),
+        ("nextUpdate", Time(optional=True)),
+        ("revokedCertificates", RevokedCertificates(optional=True)),
+        ("crlExtensions", Extensions(expl=tag_ctxc(0), optional=True)),
+    )
+
+
+class CertificateList(Sequence):
+    schema = (
+        ("tbsCertList", TBSCertList()),
+        ("signatureAlgorithm", AlgorithmIdentifier()),
+        ("signatureValue", BitString()),
+    )