| # |
| # This file is part of pyasn1-modules software. |
| # |
| # Created by Russ Housley. |
| # |
| # Copyright (c) 2019, Vigil Security, LLC |
| # License: http://snmplabs.com/pyasn1/license.html |
| # |
| # Cryptographic Message Syntax (CMS) Algorithms |
| # |
| # ASN.1 source from: |
| # https://www.rfc-editor.org/rfc/rfc3370.txt |
| # |
| |
| from pyasn1.type import univ |
| |
| from pyasn1_modules import rfc3279 |
| from pyasn1_modules import rfc5280 |
| from pyasn1_modules import rfc5751 |
| from pyasn1_modules import rfc5753 |
| from pyasn1_modules import rfc5990 |
| from pyasn1_modules import rfc8018 |
| |
| |
| # Imports from RFC 5280 |
| |
| AlgorithmIdentifier = rfc5280.AlgorithmIdentifier |
| |
| |
| # Imports from RFC 3279 |
| |
| dhpublicnumber = rfc3279.dhpublicnumber |
| |
| dh_public_number = dhpublicnumber |
| |
| DHPublicKey = rfc3279.DHPublicKey |
| |
| DomainParameters = rfc3279.DomainParameters |
| |
| DHDomainParameters = DomainParameters |
| |
| Dss_Parms = rfc3279.Dss_Parms |
| |
| Dss_Sig_Value = rfc3279.Dss_Sig_Value |
| |
| md5 = rfc3279.md5 |
| |
| md5WithRSAEncryption = rfc3279.md5WithRSAEncryption |
| |
| RSAPublicKey = rfc3279.RSAPublicKey |
| |
| rsaEncryption = rfc3279.rsaEncryption |
| |
| ValidationParms = rfc3279.ValidationParms |
| |
| id_dsa = rfc3279.id_dsa |
| |
| id_dsa_with_sha1 = rfc3279.id_dsa_with_sha1 |
| |
| id_sha1 = rfc3279.id_sha1 |
| |
| sha_1 = id_sha1 |
| |
| sha1WithRSAEncryption = rfc3279.sha1WithRSAEncryption |
| |
| |
| # Imports from RFC 5753 |
| |
| CBCParameter = rfc5753.CBCParameter |
| |
| CBCParameter = rfc5753.IV |
| |
| KeyWrapAlgorithm = rfc5753.KeyWrapAlgorithm |
| |
| |
| # Imports from RFC 5990 |
| |
| id_alg_CMS3DESwrap = rfc5990.id_alg_CMS3DESwrap |
| |
| |
| # Imports from RFC 8018 |
| |
| des_EDE3_CBC = rfc8018.des_EDE3_CBC |
| |
| des_ede3_cbc = des_EDE3_CBC |
| |
| rc2CBC = rfc8018.rc2CBC |
| |
| rc2_cbc = rc2CBC |
| |
| RC2_CBC_Parameter = rfc8018.RC2_CBC_Parameter |
| |
| RC2CBCParameter = RC2_CBC_Parameter |
| |
| PBKDF2_params = rfc8018.PBKDF2_params |
| |
| id_PBKDF2 = rfc8018.id_PBKDF2 |
| |
| |
| # The few things that are not already defined elsewhere |
| |
| hMAC_SHA1 = univ.ObjectIdentifier('1.3.6.1.5.5.8.1.2') |
| |
| |
| id_alg_ESDH = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.5') |
| |
| |
| id_alg_SSDH = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.10') |
| |
| |
| id_alg_CMSRC2wrap = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.7') |
| |
| |
| class RC2ParameterVersion(univ.Integer): |
| pass |
| |
| |
| class RC2wrapParameter(RC2ParameterVersion): |
| pass |
| |
| |
| class Dss_Pub_Key(univ.Integer): |
| pass |
| |
| |
| # Update the Algorithm Identifier map in rfc5280.py. |
| |
| _algorithmIdentifierMapUpdate = { |
| hMAC_SHA1: univ.Null(""), |
| id_alg_CMSRC2wrap: RC2wrapParameter(), |
| id_alg_ESDH: KeyWrapAlgorithm(), |
| id_alg_SSDH: KeyWrapAlgorithm(), |
| } |
| |
| rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate) |
| |
| |
| # Update the S/MIME Capabilities map in rfc5751.py. |
| |
| _smimeCapabilityMapUpdate = { |
| id_alg_CMSRC2wrap: RC2wrapParameter(), |
| id_alg_ESDH: KeyWrapAlgorithm(), |
| id_alg_SSDH: KeyWrapAlgorithm(), |
| } |
| |
| rfc5751.smimeCapabilityMap.update(_smimeCapabilityMapUpdate) |