Ejemplo n.º 1
0
class OtherLogotypeInfo(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('logotypeType', univ.ObjectIdentifier()),
        namedtype.NamedType('info', LogotypeInfo()))
Ejemplo n.º 2
0
# ASN.1 source from:
# https://www.rfc-editor.org/rfc/rfc7296.txt

from pyasn1.type import namedtype
from pyasn1.type import tag
from pyasn1.type import univ

from pyasn1_alt_modules import rfc5280


class CertificateOrCRL(univ.Choice):
    pass


CertificateOrCRL.componentType = namedtype.NamedTypes(
    namedtype.NamedType(
        'cert',
        rfc5280.Certificate().subtype(
            explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
    namedtype.NamedType(
        'crl',
        rfc5280.CertificateList().subtype(
            explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))))


class CertificateBundle(univ.SequenceOf):
    pass


CertificateBundle.componentType = CertificateOrCRL()
Ejemplo n.º 3
0
from pyasn1_modules import rfc5652

MAX = float('inf')

# CMS Authenticated-Enveloped-Data Content Type

id_ct_authEnvelopedData = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.23')


class AuthEnvelopedData(univ.Sequence):
    pass


AuthEnvelopedData.componentType = namedtype.NamedTypes(
    namedtype.NamedType('version', rfc5652.CMSVersion()),
    namedtype.OptionalNamedType(
        'originatorInfo',
        rfc5652.OriginatorInfo().subtype(implicitTag=tag.Tag(
            tag.tagClassContext, tag.tagFormatConstructed, 0))),
    namedtype.NamedType('recipientInfos', rfc5652.RecipientInfos()),
    namedtype.NamedType('authEncryptedContentInfo',
                        rfc5652.EncryptedContentInfo()),
    namedtype.OptionalNamedType(
        'authAttrs',
        rfc5652.AuthAttributes().subtype(
            implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
    namedtype.NamedType('mac', rfc5652.MessageAuthenticationCode()),
    namedtype.OptionalNamedType(
        'unauthAttrs',
        rfc5652.UnauthAttributes().subtype(
Ejemplo n.º 4
0
class LDAPMessage(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('messageID', MessageID()),
        namedtype.NamedType(
            'protocolOp',
            univ.Choice(componentType=namedtype.NamedTypes(
                namedtype.NamedType('bindRequest', BindRequest()),
                namedtype.NamedType('bindResponse', BindResponse()),
                namedtype.NamedType('unbindRequest', UnbindRequest()),
                namedtype.NamedType('searchRequest', SearchRequest()),
                namedtype.NamedType('searchResEntry', SearchResultEntry()),
                namedtype.NamedType('searchResDone', SearchResultDone()),
                namedtype.NamedType('searchResRef', SearchResultReference()),
                namedtype.NamedType('modifyRequest', ModifyRequest()),
                namedtype.NamedType('modifyResponse', ModifyResponse()),
                namedtype.NamedType('addRequest', AddRequest()),
                namedtype.NamedType('addResponse', AddResponse()),
                namedtype.NamedType('delRequest', DelRequest()),
                namedtype.NamedType('delResponse', DelResponse()),
                namedtype.NamedType('modDNRequest', ModifyDNRequest()),
                namedtype.NamedType('modDNResponse', ModifyDNResponse()),
                namedtype.NamedType('compareRequest', CompareRequest()),
                namedtype.NamedType('compareResponse', CompareResponse()),
                namedtype.NamedType('abandonRequest', AbandonRequest()),
                namedtype.NamedType('extendedReq', ExtendedRequest()),
                namedtype.NamedType('extendedResp', ExtendedResponse())))),
        namedtype.OptionalNamedType(
            'controls',
            Controls().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 0))))
Ejemplo n.º 5
0
class SaslCredentials(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('mechanism', LDAPString()),
        namedtype.OptionalNamedType('credentials', univ.OctetString()))
Ejemplo n.º 6
0
class CompareRequest(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(
        tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 14))
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('entry', LDAPDN()),
        namedtype.NamedType('ava', AttributeValueAssertion()))
Ejemplo n.º 7
0
class AttributeValueAssertion(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('attributeDesc', AttributeDescription()),
        namedtype.NamedType('assertionValue', AssertionValue()))
Ejemplo n.º 8
0
class ScopedPduData(univ.Choice):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('plaintext', ScopedPDU()),
        namedtype.NamedType('encryptedPDU', univ.OctetString()),
    )
Ejemplo n.º 9
0
 def setUp(self):
     self.s = univ.Sequence(componentType=namedtype.NamedTypes(
         namedtype.NamedType('place-holder', univ.Null()),
         namedtype.OptionalNamedType('first-name', univ.OctetString()),
         namedtype.DefaultedNamedType('age', univ.Integer(33)),
     ))
Ejemplo n.º 10
0
class AttributeValues(univ.SetOf):
    pass


AttributeValues.componentType = AttributeValue()
AttributeValues.sizeSpec = univ.Set.sizeSpec + constraint.ValueSizeConstraint(
    1, 1)


class SingleAttribute(univ.Sequence):
    pass


SingleAttribute.componentType = namedtype.NamedTypes(
    namedtype.NamedType('attrType', univ.ObjectIdentifier()),
    namedtype.NamedType('attrValues',
                        AttributeValues(),
                        openType=opentype.OpenType('attrType',
                                                   rfc5652.cmsAttributesMap)))

# SIR Entity Name


class SIREntityNameType(univ.ObjectIdentifier):
    pass


class SIREntityNameValue(univ.Any):
    pass
Ejemplo n.º 11
0
class ScopedPDU(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('contextEngineId', univ.OctetString()),
        namedtype.NamedType('contextName', univ.OctetString()),
        namedtype.NamedType('data', rfc1905.PDUs()))
Ejemplo n.º 12
0
class PolicyInformation(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('policyIdentifier', univ.ObjectIdentifier()),
        namedtype.OptionalNamedType('policyQualifiers', PolicyQualifiers()),
    )
    to_python = extension.parse_policy_information
Ejemplo n.º 13
0
class PolicyQualifierInfo(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('policyQualifierId', PolicyQualifierId()),
        namedtype.NamedType('qualifier', AnyQualifier()),
    )
Ejemplo n.º 14
0
class AnyQualifier(univ.Choice):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('userNotice', univ.Sequence()),
        namedtype.NamedType('cpsUri', char.IA5String()),
    )
Ejemplo n.º 15
0
class SearchResultEntry(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(
        tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 4))
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('objectName', LDAPDN()),
        namedtype.NamedType('attributes', PartialAttributeList()))
Ejemplo n.º 16
0
 def setUp(self):
     self.s = univ.Choice(componentType=namedtype.NamedTypes(
         namedtype.NamedType('place-holder', univ.Null('')),
         namedtype.NamedType('number', univ.Integer(0)),
         namedtype.NamedType('string', univ.OctetString())))
Ejemplo n.º 17
0
class AddRequest(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(
        tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 8))
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('entry', LDAPDN()),
        namedtype.NamedType('attributes', AttributeList()))
Ejemplo n.º 18
0
class CltuStartInvocation(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('invokerCredentials', Credentials()),
        namedtype.NamedType('invokeId', InvokeId()),
        namedtype.NamedType('firstCltuIdentification', CltuIdentification()),
    )
Ejemplo n.º 19
0
class ExtendedResponse(univ.Sequence):
    tagSet = univ.Sequence.tagSet.tagImplicitly(
        tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 24))
    componentType = namedtype.NamedTypes(
        namedtype.NamedType(
            'resultCode',
            univ.Enumerated(namedValues=namedval.NamedValues(
                ('success',
                 0), ('operationsError',
                      1), ('protocolError',
                           2), ('timeLimitExceeded',
                                3), ('sizeLimitExceeded',
                                     4), ('compareFalse',
                                          5), ('compareTrue',
                                               6), ('authMethodNotSupported',
                                                    7), ('strongAuthRequired',
                                                         8), ('reserved-9', 9),
                ('referral', 10), ('adminLimitExceeded',
                                   11), ('unavailableCriticalExtension',
                                         12), ('confidentialityRequired',
                                               13), ('saslBindInProgress', 14),
                ('noSuchAttribute',
                 16), ('undefinedAttributeType',
                       17), ('inappropriateMatching',
                             18), ('constraintViolation',
                                   19), ('attributeOrValueExists',
                                         20), ('invalidAttributeSyntax',
                                               21), ('noSuchObject',
                                                     32), ('aliasProblem', 33),
                ('invalidDNSyntax',
                 34), ('reserved-35',
                       35), ('aliasDereferencingProblem',
                             36), ('inappropriateAuthentication',
                                   48), ('invalidCredentials',
                                         49), ('insufficientAccessRights',
                                               50), ('busy',
                                                     51), ('unavailable', 52),
                ('unwillingToPerform',
                 53), ('loopDetect',
                       54), ('namingViolation',
                             64), ('objectClassViolation',
                                   65), ('notAllowedOnNonLeaf',
                                         66), ('notAllowedOnRDN',
                                               67), ('entryAlreadyExists', 68),
                ('objectClassModsProhibited',
                 69), ('reserved-70', 70), ('affectsMultipleDSAs', 71), (
                     'other', 80), ('reserved-81',
                                    81), ('reserved-82',
                                          82), ('reserved-83',
                                                83), ('reserved-84',
                                                      84), ('reserved-85', 85),
                ('reserved-86', 86), ('reserved-87',
                                      87), ('reserved-88',
                                            88), ('reserved-89',
                                                  89), ('reserved-90', 90)))),
        namedtype.NamedType('matchedDN', LDAPDN()),
        namedtype.NamedType('errorMessage', LDAPString()),
        namedtype.OptionalNamedType(
            'referral',
            Referral().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 3))),
        namedtype.OptionalNamedType(
            'responseName',
            LDAPOID().subtype(implicitTag=tag.Tag(tag.tagClassContext,
                                                  tag.tagFormatSimple, 10))),
        namedtype.OptionalNamedType(
            'response',
            univ.OctetString().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 11))))
Ejemplo n.º 20
0
class CltuProviderToUserPdu(univ.Choice):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType(
            'cltuBindReturn',
            SleBindReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 101))),
        namedtype.NamedType(
            'cltuUnbindReturn',
            SleUnbindReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 103))),
        namedtype.NamedType(
            'cltuStartReturn',
            CltuStartReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 1))),
        namedtype.NamedType(
            'cltuStopReturn',
            SleAcknowledgement().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 3))),
        namedtype.NamedType(
            'cltuScheduleStatusReportReturn',
            SleScheduleStatusReportReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 5))),
        namedtype.NamedType(
            'cltuGetParameterReturn',
            CltuGetParameterReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 7))),
        namedtype.NamedType(
            'cltuThrowEventReturn',
            CltuThrowEventReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 9))),
        namedtype.NamedType(
            'cltuTransferDataReturn',
            CltuTransferDataReturn().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 11))),
        namedtype.NamedType(
            'cltuAsyncNotifyInvocation',
            CltuAsyncNotifyInvocation().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 12))),
        namedtype.NamedType(
            'cltuStatusReportInvocation',
            CltuStatusReportInvocation().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 13))),
        namedtype.NamedType(
            'cltuPeerAbortInvocation',
            SlePeerAbort().subtype(implicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatSimple, 104))))
Ejemplo n.º 21
0
class Attribute(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('type', AttributeDescription()),
        namedtype.NamedType('vals',
                            univ.SetOf(componentType=AttributeValue())))
Ejemplo n.º 22
0
class CltuGetParameterInvocation(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('invokerCredentials', Credentials()),
        namedtype.NamedType('invokeId', InvokeId()),
        namedtype.NamedType('cltuParameter', CltuParameterName()))
Ejemplo n.º 23
0
class Control(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('controlType', LDAPOID()),
        namedtype.DefaultedNamedType('criticality', univ.Boolean('False')),
        namedtype.OptionalNamedType('controlValue', univ.OctetString()))
Ejemplo n.º 24
0
 def setUp(self):
     self.s1 = univ.Sequence(componentType=namedtype.NamedTypes(
         namedtype.NamedType('name', univ.OctetString('')),
         namedtype.OptionalNamedType('nick', univ.OctetString('')),
         namedtype.DefaultedNamedType('age', univ.Integer(34))
     ))
Ejemplo n.º 25
0
class DhSigStatic(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.OptionalNamedType('issuerAndSerial',
                                    IssuerAndSerialNumber()),
        namedtype.NamedType('hashValue', MessageDigest()))
Ejemplo n.º 26
0
# Signing Certificate Attribute
# Warning: It is better to use SigningCertificateV2 from RFC 5035

id_aa_signingCertificate = univ.ObjectIdentifier('1.2.840.113549.1.9.16.2.12')


class Hash(univ.OctetString):
    pass  # SHA-1 hash of entire certificate; RFC 5035 supports other hash algorithms


class IssuerSerial(univ.Sequence):
    pass


IssuerSerial.componentType = namedtype.NamedTypes(
    namedtype.NamedType('issuer', GeneralNames()),
    namedtype.NamedType('serialNumber', CertificateSerialNumber()))


class ESSCertID(univ.Sequence):
    pass


ESSCertID.componentType = namedtype.NamedTypes(
    namedtype.NamedType('certHash', Hash()),
    namedtype.OptionalNamedType('issuerSerial', IssuerSerial()))


class SigningCertificate(univ.Sequence):
    pass
Ejemplo n.º 27
0
        else:
            output.append(int(x))

    return univ.ObjectIdentifier(output)


class AttributeValue(univ.Any):
    pass


class Attribute(univ.Sequence):
    pass


Attribute.componentType = namedtype.NamedTypes(
    namedtype.NamedType('attrType', univ.ObjectIdentifier()),
    namedtype.NamedType('attrValues',
                        univ.SetOf(componentType=AttributeValue())))


class SignedAttributes(univ.SetOf):
    pass


SignedAttributes.componentType = Attribute()
SignedAttributes.subtypeSpec = constraint.ValueSizeConstraint(1, MAX)


class OtherRevocationInfoFormat(univ.Sequence):
    pass
Ejemplo n.º 28
0
class PartialAttributeList(univ.SequenceOf):
    componentType = univ.Sequence(componentType=namedtype.NamedTypes(
        namedtype.NamedType('type', AttributeDescription()),
        namedtype.NamedType('vals', univ.SetOf(
            componentType=AttributeValue()))))
Ejemplo n.º 29
0
class syncStateValue(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('state', syncStateOp()),
        namedtype.NamedType('entryUUID', syncUUID()),
        namedtype.OptionalNamedType('cookie', syncCookie())
    )
Ejemplo n.º 30
0
class AccessDescription(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('accessMethod', univ.ObjectIdentifier()),
        namedtype.NamedType('accessLocation', GeneralName()))