class OtherLogotypeInfo(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('logotypeType', univ.ObjectIdentifier()), namedtype.NamedType('info', LogotypeInfo()))
# 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()
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(
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))))
class SaslCredentials(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('mechanism', LDAPString()), namedtype.OptionalNamedType('credentials', univ.OctetString()))
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()))
class AttributeValueAssertion(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('attributeDesc', AttributeDescription()), namedtype.NamedType('assertionValue', AssertionValue()))
class ScopedPduData(univ.Choice): componentType = namedtype.NamedTypes( namedtype.NamedType('plaintext', ScopedPDU()), namedtype.NamedType('encryptedPDU', univ.OctetString()), )
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)), ))
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
class ScopedPDU(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('contextEngineId', univ.OctetString()), namedtype.NamedType('contextName', univ.OctetString()), namedtype.NamedType('data', rfc1905.PDUs()))
class PolicyInformation(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('policyIdentifier', univ.ObjectIdentifier()), namedtype.OptionalNamedType('policyQualifiers', PolicyQualifiers()), ) to_python = extension.parse_policy_information
class PolicyQualifierInfo(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('policyQualifierId', PolicyQualifierId()), namedtype.NamedType('qualifier', AnyQualifier()), )
class AnyQualifier(univ.Choice): componentType = namedtype.NamedTypes( namedtype.NamedType('userNotice', univ.Sequence()), namedtype.NamedType('cpsUri', char.IA5String()), )
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()))
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())))
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()))
class CltuStartInvocation(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('invokerCredentials', Credentials()), namedtype.NamedType('invokeId', InvokeId()), namedtype.NamedType('firstCltuIdentification', CltuIdentification()), )
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))))
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))))
class Attribute(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('type', AttributeDescription()), namedtype.NamedType('vals', univ.SetOf(componentType=AttributeValue())))
class CltuGetParameterInvocation(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('invokerCredentials', Credentials()), namedtype.NamedType('invokeId', InvokeId()), namedtype.NamedType('cltuParameter', CltuParameterName()))
class Control(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('controlType', LDAPOID()), namedtype.DefaultedNamedType('criticality', univ.Boolean('False')), namedtype.OptionalNamedType('controlValue', univ.OctetString()))
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)) ))
class DhSigStatic(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('issuerAndSerial', IssuerAndSerialNumber()), namedtype.NamedType('hashValue', MessageDigest()))
# 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
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
class PartialAttributeList(univ.SequenceOf): componentType = univ.Sequence(componentType=namedtype.NamedTypes( namedtype.NamedType('type', AttributeDescription()), namedtype.NamedType('vals', univ.SetOf( componentType=AttributeValue()))))
class syncStateValue(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('state', syncStateOp()), namedtype.NamedType('entryUUID', syncUUID()), namedtype.OptionalNamedType('cookie', syncCookie()) )
class AccessDescription(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('accessMethod', univ.ObjectIdentifier()), namedtype.NamedType('accessLocation', GeneralName()))