X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=pygost%2Fasn1schemas%2Fcert-selfsigned-example.py;h=d6d262db1177c8f7a9fca5f989c111e53bca2776;hb=74865170cd1616f27b143cce56ece1940dbf340d;hp=5cdca8f5cfa4c961e67af56a623259d81cf4a522;hpb=ec39453b4f1c8d7b40383fa2af43d8a7cfeb4b22;p=pygost.git diff --git a/pygost/asn1schemas/cert-selfsigned-example.py b/pygost/asn1schemas/cert-selfsigned-example.py index 5cdca8f..d6d262d 100644 --- a/pygost/asn1schemas/cert-selfsigned-example.py +++ b/pygost/asn1schemas/cert-selfsigned-example.py @@ -7,21 +7,19 @@ from datetime import timedelta from os import urandom from sys import argv from sys import exit as sys_exit -from sys import stderr from textwrap import fill from pyderasn import Any from pyderasn import BitString from pyderasn import Integer -from pyderasn import ObjectIdentifier from pyderasn import OctetString from pyderasn import PrintableString from pyderasn import UTCTime +from pygost.asn1schemas.oids import id_at_commonName from pygost.asn1schemas.oids import id_ce_subjectKeyIdentifier from pygost.asn1schemas.oids import id_tc26_gost3410_2012_512 from pygost.asn1schemas.oids import id_tc26_gost3410_2012_512_paramSetA -from pygost.asn1schemas.oids import id_tc26_gost3411_2012_512 from pygost.asn1schemas.oids import id_tc26_signwithdigest_gost3410_2012_512 from pygost.asn1schemas.prvkey import PrivateKey from pygost.asn1schemas.prvkey import PrivateKeyAlgorithmIdentifier @@ -52,15 +50,15 @@ from pygost.gost3410 import sign from pygost.gost34112012512 import GOST34112012512 if len(argv) != 2: - print("Usage: cert-selfsigned-example.py COMMON-NAME", file=stderr) - sys_exit(1) + sys_exit("Usage: cert-selfsigned-example.py COMMON-NAME") + def pem(obj): - return fill(standard_b64encode(obj.encode()).decode('ascii'), 64) + return fill(standard_b64encode(obj.encode()).decode("ascii"), 64) + key_params = GostR34102012PublicKeyParameters(( ("publicKeyParamSet", id_tc26_gost3410_2012_512_paramSetA), - ("digestParamSet", id_tc26_gost3411_2012_512), )) prv_raw = urandom(64) @@ -78,7 +76,6 @@ print("-----END PRIVATE KEY-----") prv = prv_unmarshal(prv_raw) curve = CURVES["id-tc26-gost-3410-12-512-paramSetA"] pub_raw = pub_marshal(public_key(curve, prv), mode=2012) -id_at_commonName = ObjectIdentifier("2.5.4.3") subj = Name(("rdnSequence", RDNSequence([ RelativeDistinguishedName(( AttributeTypeAndValue(( @@ -124,7 +121,7 @@ cert = Certificate(( ("signatureValue", BitString(sign( curve, prv, - GOST34112012512(tbs.encode()).digest(), + GOST34112012512(tbs.encode()).digest()[::-1], mode=2012, ))), ))