codekingpro/portable-devtools
114k
1#2# This file is part of pyasn1-modules software.3#4# Created by Russ Housley.5#6# Copyright (c) 2019, Vigil Security, LLC7# License: http://snmplabs.com/pyasn1/license.html8#9# Camellia Algorithm in CMS10#11# ASN.1 source from:12# https://www.rfc-editor.org/rfc/rfc3657.txt13#14 15from pyasn1.type import constraint16from pyasn1.type import univ17 18from pyasn1_modules import rfc528019from pyasn1_modules import rfc575120 21 22id_camellia128_cbc = univ.ObjectIdentifier('1.2.392.200011.61.1.1.1.2')23 24id_camellia192_cbc = univ.ObjectIdentifier('1.2.392.200011.61.1.1.1.3')25 26id_camellia256_cbc = univ.ObjectIdentifier('1.2.392.200011.61.1.1.1.4')27 28id_camellia128_wrap = univ.ObjectIdentifier('1.2.392.200011.61.1.1.3.2')29 30id_camellia192_wrap = univ.ObjectIdentifier('1.2.392.200011.61.1.1.3.3')31 32id_camellia256_wrap = univ.ObjectIdentifier('1.2.392.200011.61.1.1.3.4')33 34 35 36class Camellia_IV(univ.OctetString):37 subtypeSpec = constraint.ValueSizeConstraint(16, 16)38 39 40class CamelliaSMimeCapability(univ.Null):41 pass42 43 44# Update the Algorithm Identifier map in rfc5280.py.45 46_algorithmIdentifierMapUpdate = {47 id_camellia128_cbc: Camellia_IV(),48 id_camellia192_cbc: Camellia_IV(),49 id_camellia256_cbc: Camellia_IV(),50}51 52rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)53 54 55# Update the SMIMECapabilities Attribute map in rfc5751.py56 57_smimeCapabilityMapUpdate = {58 id_camellia128_cbc: CamelliaSMimeCapability(),59 id_camellia192_cbc: CamelliaSMimeCapability(),60 id_camellia256_cbc: CamelliaSMimeCapability(),61 id_camellia128_wrap: CamelliaSMimeCapability(),62 id_camellia192_wrap: CamelliaSMimeCapability(),63 id_camellia256_wrap: CamelliaSMimeCapability(),64}65 66rfc5751.smimeCapabilityMap.update(_smimeCapabilityMapUpdate)67 