Beispiel #1
0
class TBSCertificate(Sequence):
    # TBSCertificate  ::=  SEQUENCE  {
    #     version         [0]  Version DEFAULT v1,
    #     serialNumber         CertificateSerialNumber,
    #     signature            AlgorithmIdentifier,
    #     issuer               Name,
    #     validity             Validity,
    #     subject              Name,
    #     subjectPublicKeyInfo SubjectPublicKeyInfo,
    #     issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
    #                         -- If present, version MUST be v2 or v3
    #     subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
    #                         -- If present, version MUST be v2 or v3
    #     extensions      [3]  Extensions OPTIONAL
    #                         -- If present, version MUST be v3 --  }
    schema = (
        ("version", Version(expl=tag_ctxc(0), default="v1")),
        ("serialNumber", CertificateSerialNumber()),
        ("signature", AlgorithmIdentifier()),
        ("issuer", Name()),
        ("validity", Validity()),
        ("subject", Name()),
        ("subjectPublicKeyInfo", SubjectPublicKeyInfo()),
        ("issuerUniqueID", UniqueIdentifier(impl=tag_ctxp(1), optional=True)),
        ("subjectUniqueID", UniqueIdentifier(impl=tag_ctxp(2), optional=True)),
        ("extensions", Extensions(expl=tag_ctxc(3), optional=True)),
    )
Beispiel #2
0
class ECPrivateKey(Sequence):
    schema = (
        ("version", Integer(ecPrivkeyVer1)),
        ("privateKey", OctetString()),
        ("parameters", ECParameters(expl=tag_ctxc(0), optional=True)),
        ("publicKey", BitString(expl=tag_ctxc(1), optional=True)),
    )
Beispiel #3
0
class KeyAgreeRecipientInfo(Sequence):
    schema = (
        ("version", CMSVersion(3)),
        ("originator", OriginatorIdentifierOrKey(expl=tag_ctxc(0))),
        ("ukm", UserKeyingMaterial(expl=tag_ctxc(1), optional=True)),
        ("keyEncryptionAlgorithm", KeyEncryptionAlgorithmIdentifier()),
        ("recipientEncryptedKeys", RecipientEncryptedKeys()),
    )
Beispiel #4
0
class DistributionPointName(Choice):
    # DistributionPointName ::= CHOICE {
    #     fullName                [0]     GeneralNames,
    #     nameRelativeToCRLIssuer [1]     RelativeDistinguishedName }
    schema = (
        ("fullName", GeneralNames(impl=tag_ctxc(0))),
        ("nameRelativeToCRLIssuer",
         RelativeDistinguishedName(impl=tag_ctxc(1))),
    )
Beispiel #5
0
class DistributionPoint(Sequence):
    # DistributionPoint ::= SEQUENCE {
    #     distributionPoint       [0]     DistributionPointName OPTIONAL,
    #     reasons                 [1]     ReasonFlags OPTIONAL,
    #     cRLIssuer               [2]     GeneralNames OPTIONAL }
    schema = (("distributionPoint",
               DistributionPointName(expl=tag_ctxc(0), optional=True)),
              ("reasons", ReasonFlags(impl=tag_ctxc(1), optional=True)),
              ("cRLIssuer", GeneralNames(impl=tag_ctxc(2), optional=True)))
Beispiel #6
0
class AuthorityKeyIdentifier(Sequence):
    # AuthorityKeyIdentifier ::= SEQUENCE {
    #     keyIdentifier             [0] KeyIdentifier           OPTIONAL,
    #     authorityCertIssuer       [1] GeneralNames            OPTIONAL,
    #     authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }
    schema = (
        ("keyIdentifier", KeyIdentifier(impl=tag_ctxp(0), optional=True)),
        ("authorityCertIssuer", GeneralNames(impl=tag_ctxc(1), optional=True)),
        ("authorityCertSerialNumber",
         CertificateSerialNumber(impl=tag_ctxc(2), optional=True)),
    )
Beispiel #7
0
class TBSCertificate(Sequence):
    schema = (
        ("version", Version(expl=tag_ctxc(0), default="v1")),
        ("serialNumber", CertificateSerialNumber()),
        ("signature", AlgorithmIdentifier()),
        ("issuer", Name()),
        ("validity", Validity()),
        ("subject", Name()),
        ("subjectPublicKeyInfo", SubjectPublicKeyInfo()),
        ("issuerUniqueID", UniqueIdentifier(impl=tag_ctxp(1), optional=True)),
        ("subjectUniqueID", UniqueIdentifier(impl=tag_ctxp(2), optional=True)),
        ("extensions", Extensions(expl=tag_ctxc(3), optional=True)),
    )
Beispiel #8
0
class CertificationRequestInfo(Sequence):
    schema = (
        ("version", Integer(0)),
        ("subject", Name()),
        ("subjectPKInfo", SubjectPublicKeyInfo()),
        ("attributes", Attributes(impl=tag_ctxc(0))),
    )
Beispiel #9
0
class AuthSafe(Sequence):
    schema = (
        ("contentType", ContentType(defines=(
            (("content",), {id_data: OctetStringSafeContents()}),
        ))),
        ("content", Any(expl=tag_ctxc(0))),
    )
class SignedData(Sequence):
    #   SignedData ::= SEQUENCE {
    #     version CMSVersion,
    #     digestAlgorithms DigestAlgorithmIdentifiers,
    #     encapContentInfo EncapsulatedContentInfo,
    #     certificates [0] IMPLICIT CertificateSet OPTIONAL,
    #     crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
    #     signerInfos SignerInfos }
    schema = (
        ("version", CMSVersion()),
        ("digestAlgorithms", DigestAlgorithmIdentifiers()),
        ("encapContentInfo", EncapsulatedContentInfo()),
        ("certificates", CertificateSet(impl=tag_ctxc(0), optional=True)),
        ("crls", RevocationInfoChoices(impl=tag_ctxc(1), optional=True)),
        ("signerInfos", SignerInfos()),
    )
Beispiel #11
0
class RecipientInfo(Choice):
    schema = (
        ("ktri", KeyTransRecipientInfo()),
        ("kari", KeyAgreeRecipientInfo(impl=tag_ctxc(1))),
        # ("kekri", KEKRecipientInfo(impl=tag_ctxc(2))),
        # ("pwri", PasswordRecipientInfo(impl=tag_ctxc(3))),
        # ("ori", OtherRecipientInfo(impl=tag_ctxc(4))),
    )
Beispiel #12
0
class OtherName(Sequence):
    #    OtherName ::= SEQUENCE {
    #         type-id    OBJECT IDENTIFIER,
    #         value      [0] EXPLICIT ANY DEFINED BY type-id }
    schema = (
        ("type-id", ObjectIdentifier()),
        ("value", Any(expl=tag_ctxc(0))),
    )
class EncapsulatedContentInfo(Sequence):
    #   EncapsulatedContentInfo ::= SEQUENCE {
    #     eContentType ContentType,
    #     eContent [0] EXPLICIT OCTET STRING OPTIONAL }
    schema = (
        ("eContentType", ContentType()),
        ("eContent", OctetString(expl=tag_ctxc(0), optional=True)),
    )
Beispiel #14
0
class SafeBag(Sequence):
    schema = (
        ("bagId", ObjectIdentifier(defines=(
            (("bagValue",), {id_encryptedData: EncryptedData()}),
        ))),
        ("bagValue", PKCS12BagSet(expl=tag_ctxc(0))),
        ("bagAttributes", PKCS12Attributes(optional=True)),
    )
Beispiel #15
0
class SignedData(Sequence):
    schema = (
        ("version", CMSVersion()),
        ("digestAlgorithms", DigestAlgorithmIdentifiers()),
        ("encapContentInfo", EncapsulatedContentInfo()),
        ("certificates", CertificateSet(impl=tag_ctxc(0), optional=True)),
        # ("crls", RevocationInfoChoices(impl=tag_ctxc(1), optional=True)),
        ("signerInfos", SignerInfos()),
    )
Beispiel #16
0
class GostR3410KeyTransport(Sequence):
    schema = (
        ("sessionEncryptedKey", Gost2814789EncryptedKey()),
        ("transportParameters",
         GostR34102001TransportParameters(
             impl=tag_ctxc(0),
             optional=True,
         )),
    )
class SignerInfo(Sequence):
    # SignerInfo ::= SEQUENCE {
    #     version CMSVersion,
    #     sid SignerIdentifier,
    #     digestAlgorithm DigestAlgorithmIdentifier,
    #     signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
    #     signatureAlgorithm SignatureAlgorithmIdentifier,
    #     signature SignatureValue,
    #     unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }
    schema = (
        ("version", CMSVersion()),
        ("sid", Any()),
        ("digestAlgorithm", DigestAlgorithmIdentifier()),
        ("signedAttrs", SignedAttributes(impl=tag_ctxc(0), optional=True)),
        ("signatureAlgorithm", SignatureAlgorithmIdentifier()),
        ("signature", SignatureValue()),
        ("unsignedAttrs", UnsignedAttributes(impl=tag_ctxc(1), optional=True)),
    )
Beispiel #18
0
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)),
    )
Beispiel #19
0
class GostR34102001TransportParameters(Sequence):
    schema = (
        ("encryptionParamSet", ObjectIdentifier()),
        ("ephemeralPublicKey",
         SubjectPublicKeyInfo(
             impl=tag_ctxc(0),
             optional=True,
         )),
        ("ukm", OctetString()),
    )
Beispiel #20
0
class ContentInfo(Sequence):
    schema = (
        ("contentType",
         ContentType(defines=((("content", ), {
             id_digestedData: DigestedData(),
             id_envelopedData: EnvelopedData(),
             id_signedData: SignedData(),
         }), ))),
        ("content", Any(expl=tag_ctxc(0))),
    )
class ContentInfo(Sequence):
    # ContentInfo ::= SEQUENCE {
    #     contentType ContentType,
    #     content [0] EXPLICIT ANY DEFINED BY contentType }
    schema = (
        ("contentType",
         ContentType(
             defines=((("content", ), {
                 ObjectIdentifier("1.2.840.113549.1.7.2"): SignedData(),
             }), ))),
        ("content", ANY(expl=tag_ctxc(0))),
    )
Beispiel #22
0
class OriginatorIdentifierOrKey(Choice):
    schema = (
        # ("issuerAndSerialNumber", IssuerAndSerialNumber()),
        # ("subjectKeyIdentifier", SubjectKeyIdentifier(impl=tag_ctxp(0))),
        ("originatorKey", OriginatorPublicKey(impl=tag_ctxc(1))), )
Beispiel #23
0
class EncapsulatedContentInfo(Sequence):
    schema = (
        ("eContentType", ContentType()),
        ("eContent", OctetString(expl=tag_ctxc(0), optional=True)),
    )
Beispiel #24
0
class ContentInfo(Sequence):
    schema = (
        ("contentType", ContentType()),
        ("content", Any(expl=tag_ctxc(0))),
    )
Beispiel #25
0
class AuthSafe(Sequence):
    schema = (
        ("contentType", ContentType()),
        ("content", Any(expl=tag_ctxc(0))),
    )
Beispiel #26
0
class SafeBag(Sequence):
    schema = (
        ("bagId", ObjectIdentifier()),
        ("bagValue", PKCS12BagSet(expl=tag_ctxc(0))),
        ("bagAttributes", PKCS12Attributes(optional=True)),
    )