X-Git-Url: http://www.git.cypherpunks.ru/?p=pygost.git;a=blobdiff_plain;f=pygost%2Fasn1schemas%2Fcms.py;h=d2d53275159062cb3b0513544dce29c77f036559;hp=a39b10be978f2f2e1b8ad0d27a671ec6bf1a6c9a;hb=313eaab6514eff3ce3d1e4bee615eb38299c2f89;hpb=51d8bc7d4d177738189dc696a21326456f05bb74 diff --git a/pygost/asn1schemas/cms.py b/pygost/asn1schemas/cms.py index a39b10b..d2d5327 100644 --- a/pygost/asn1schemas/cms.py +++ b/pygost/asn1schemas/cms.py @@ -59,10 +59,25 @@ class ContentType(ObjectIdentifier): pass +class IssuerAndSerialNumber(Sequence): + schema = ( + ("issuer", Name()), + ("serialNumber", CertificateSerialNumber()), + ) + + +class KeyIdentifier(OctetString): + pass + + +class SubjectKeyIdentifier(KeyIdentifier): + pass + + class RecipientIdentifier(Choice): schema = ( - ("issuerAndSerialNumber", Any()), - # ("subjectKeyIdentifier", SubjectKeyIdentifier(impl=tag_ctxp(0))), + ("issuerAndSerialNumber", IssuerAndSerialNumber()), + ("subjectKeyIdentifier", SubjectKeyIdentifier(impl=tag_ctxp(0))), ) @@ -159,21 +174,6 @@ class OriginatorPublicKey(Sequence): ) -class IssuerAndSerialNumber(Sequence): - schema = ( - ("issuer", Name()), - ("serialNumber", CertificateSerialNumber()), - ) - - -class KeyIdentifier(OctetString): - pass - - -class SubjectKeyIdentifier(KeyIdentifier): - pass - - class OriginatorIdentifierOrKey(Choice): schema = ( ("issuerAndSerialNumber", IssuerAndSerialNumber()), @@ -188,7 +188,7 @@ class UserKeyingMaterial(OctetString): class KeyAgreeRecipientIdentifier(Choice): schema = ( - ("issuerAndSerialNumber", Any()), + ("issuerAndSerialNumber", IssuerAndSerialNumber()), # ("rKeyId", RecipientKeyIdentifier(impl=tag_ctxc(0))), ) @@ -326,8 +326,8 @@ class EncapsulatedContentInfo(Sequence): class SignerIdentifier(Choice): schema = ( - ("issuerAndSerialNumber", Any()), - # ("subjectKeyIdentifier", SubjectKeyIdentifier(impl=tag_ctxp(0))), + ("issuerAndSerialNumber", IssuerAndSerialNumber()), + ("subjectKeyIdentifier", SubjectKeyIdentifier(impl=tag_ctxp(0))), )