PHP 8.5.2
Preview: rfc6664.py Size: 4.17 KB
//lib/python3/dist-packages/pyasn1_modules/rfc6664.py

#
# This file is part of pyasn1-modules software.
#
# Created by Russ Housley with some assistance from asn1ate v.0.6.0.
#
# Copyright (c) 2019, Vigil Security, LLC
# License: http://snmplabs.com/pyasn1/license.html
#
# S/MIME Capabilities for Public Key Definitions
#
# ASN.1 source from:
# https://www.rfc-editor.org/rfc/rfc6664.txt
#

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

from pyasn1_modules import rfc5280
from pyasn1_modules import rfc5751
from pyasn1_modules import rfc5480
from pyasn1_modules import rfc4055
from pyasn1_modules import rfc3279

MAX = float('inf')


# Imports from RFC 5280

AlgorithmIdentifier = rfc5280.AlgorithmIdentifier


# Imports from RFC 3279

dhpublicnumber = rfc3279.dhpublicnumber

Dss_Parms = rfc3279.Dss_Parms

id_dsa = rfc3279.id_dsa

id_ecPublicKey = rfc3279.id_ecPublicKey

rsaEncryption = rfc3279.rsaEncryption


# Imports from RFC 4055

id_mgf1 = rfc4055.id_mgf1

id_RSAES_OAEP = rfc4055.id_RSAES_OAEP

id_RSASSA_PSS = rfc4055.id_RSASSA_PSS


# Imports from RFC 5480

ECParameters = rfc5480.ECParameters

id_ecDH = rfc5480.id_ecDH

id_ecMQV = rfc5480.id_ecMQV


# RSA

class RSAKeySize(univ.Integer):
    # suggested values are 1024, 2048, 3072, 4096, 7680, 8192, and 15360;
    # however, the integer value is not limited to these suggestions
    pass


class RSAKeyCapabilities(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('minKeySize', RSAKeySize()),
        namedtype.OptionalNamedType('maxKeySize', RSAKeySize())
    )


class RsaSsa_Pss_sig_caps(univ.Sequence):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('hashAlg', AlgorithmIdentifier()),
        namedtype.OptionalNamedType('maskAlg', AlgorithmIdentifier()),
        namedtype.DefaultedNamedType('trailerField', univ.Integer().subtype(value=1))
    )


# Diffie-Hellman and DSA

class DSAKeySize(univ.Integer):
    subtypeSpec = constraint.SingleValueConstraint(1024, 2048, 3072, 7680, 15360)


class DSAKeyCapabilities(univ.Choice):
    componentType = namedtype.NamedTypes(
        namedtype.NamedType('keySizes', univ.Sequence(componentType=namedtype.NamedTypes(
            namedtype.NamedType('minKeySize',
                DSAKeySize()),
            namedtype.OptionalNamedType('maxKeySize',
                DSAKeySize()),
            namedtype.OptionalNamedType('maxSizeP',
                univ.Integer().subtype(explicitTag=tag.Tag(
                    tag.tagClassContext, tag.tagFormatSimple, 1))),
            namedtype.OptionalNamedType('maxSizeQ',
                univ.Integer().subtype(explicitTag=tag.Tag(
                    tag.tagClassContext, tag.tagFormatSimple, 2))),
            namedtype.OptionalNamedType('maxSizeG',
                univ.Integer().subtype(explicitTag=tag.Tag(
                    tag.tagClassContext, tag.tagFormatSimple, 3)))
        )).subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))),
        namedtype.NamedType('keyParams',
            Dss_Parms().subtype(explicitTag=tag.Tag(
                tag.tagClassContext, tag.tagFormatConstructed, 1)))
    )


# Elliptic Curve

class EC_SMimeCaps(univ.SequenceOf):
    componentType = ECParameters()
    subtypeSpec=constraint.ValueSizeConstraint(1, MAX)


# Update the SMIMECapabilities Attribute Map in rfc5751.py
#
# The map can either include an entry for scap-sa-rsaSSA-PSS or 
# scap-pk-rsaSSA-PSS, but not both.  One is associated with the
# public key and the other is associated with the signature
# algorithm; however, they use the same OID.  If you need the
# other one in your application, copy the map into a local dict,
# adjust as needed, and pass the local dict to the decoder with
# openTypes=your_local_map.

_smimeCapabilityMapUpdate = {
    rsaEncryption: RSAKeyCapabilities(),
    id_RSASSA_PSS: RSAKeyCapabilities(),
    # id_RSASSA_PSS: RsaSsa_Pss_sig_caps(),
    id_RSAES_OAEP: RSAKeyCapabilities(),
    id_dsa: DSAKeyCapabilities(),
    dhpublicnumber: DSAKeyCapabilities(),
    id_ecPublicKey: EC_SMimeCaps(),
    id_ecDH: EC_SMimeCaps(),
    id_ecMQV: EC_SMimeCaps(),
    id_mgf1: AlgorithmIdentifier(),
}

rfc5751.smimeCapabilityMap.update(_smimeCapabilityMapUpdate)

Directory Contents

Dirs: 1 × Files: 107

Name Size Perms Modified Actions
- drwxr-xr-x 2026-01-08 12:56:13
Edit Download
2.01 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.62 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
3.47 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
646 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
3.62 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
4.72 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
26.30 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.28 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
9.44 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.56 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
48.83 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
10.11 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
8.21 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.19 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
9.20 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
14.02 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.85 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.92 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
4.16 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.63 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
6.65 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
45.53 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
9.63 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.91 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.14 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.57 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.78 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.40 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
6.32 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.70 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
3.18 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
19.63 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.04 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
10.15 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.60 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
10.35 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
27.80 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
11.83 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.55 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
961 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
4.42 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.84 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.79 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.40 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
50.04 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
4.72 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
830 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
20.95 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
3.12 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
11.80 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.13 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
3.63 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.03 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
800 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.48 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
425 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
23.24 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.58 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.59 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
5.38 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.29 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.06 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
11.85 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.90 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
818 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
409 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
489 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.03 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.20 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
16.65 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
16.75 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.04 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.87 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
472 B lrw-r--r-- 2020-01-09 17:20:13
Edit Download
4.17 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
2.75 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
7.73 KB lrw-r--r-- 2019-10-17 05:03:15
Edit Download
1.41 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
6.90 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
743 B lrw-r--r-- 2019-10-17 05:03:15
Edit Download
8.28 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
885 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.13 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.05 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
841 B lrw-r--r-- 2019-10-17 05:03:15
Edit Download
1.28 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.73 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.70 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
18.48 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.46 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
4.08 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
6.02 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1017 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
393 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
4.19 KB lrw-r--r-- 2020-01-09 17:20:13
Edit Download
1.11 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.05 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.16 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
971 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.08 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.66 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.12 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
2.31 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.46 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
1.11 KB lrw-r--r-- 2019-10-17 05:00:24
Edit Download
982 B lrw-r--r-- 2019-10-17 05:00:24
Edit Download
65 B lrw-r--r-- 2020-01-09 17:20:21
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).