__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#
# This file is part of pyasn1-modules software.
#
# Created by Russ Housley with assistance from asn1ate v.0.6.0.
#
# Copyright (c) 2019, Vigil Security, LLC
# License: http://snmplabs.com/pyasn1/license.html
#
# Use of the RSA-KEM Key Transport Algorithm in the CMS
#
# ASN.1 source from:
# https://www.rfc-editor.org/rfc/rfc5990.txt
#
from pyasn1.type import constraint
from pyasn1.type import namedtype
from pyasn1.type import univ
from pyasn1_modules import rfc5280
MAX = float('inf')
def _OID(*components):
output = []
for x in tuple(components):
if isinstance(x, univ.ObjectIdentifier):
output.extend(list(x))
else:
output.append(int(x))
return univ.ObjectIdentifier(output)
# Imports from RFC 5280
AlgorithmIdentifier = rfc5280.AlgorithmIdentifier
# Useful types and definitions
class NullParms(univ.Null):
pass
# Object identifier arcs
is18033_2 = _OID(1, 0, 18033, 2)
nistAlgorithm = _OID(2, 16, 840, 1, 101, 3, 4)
pkcs_1 = _OID(1, 2, 840, 113549, 1, 1)
x9_44 = _OID(1, 3, 133, 16, 840, 9, 44)
x9_44_components = _OID(x9_44, 1)
# Types for algorithm identifiers
class Camellia_KeyWrappingScheme(AlgorithmIdentifier):
pass
class DataEncapsulationMechanism(AlgorithmIdentifier):
pass
class KDF2_HashFunction(AlgorithmIdentifier):
pass
class KDF3_HashFunction(AlgorithmIdentifier):
pass
class KeyDerivationFunction(AlgorithmIdentifier):
pass
class KeyEncapsulationMechanism(AlgorithmIdentifier):
pass
class X9_SymmetricKeyWrappingScheme(AlgorithmIdentifier):
pass
# RSA-KEM Key Transport Algorithm
id_rsa_kem = _OID(1, 2, 840, 113549, 1, 9, 16, 3, 14)
class GenericHybridParameters(univ.Sequence):
pass
GenericHybridParameters.componentType = namedtype.NamedTypes(
namedtype.NamedType('kem', KeyEncapsulationMechanism()),
namedtype.NamedType('dem', DataEncapsulationMechanism())
)
rsa_kem = AlgorithmIdentifier()
rsa_kem['algorithm'] = id_rsa_kem
rsa_kem['parameters'] = GenericHybridParameters()
# KEM-RSA Key Encapsulation Mechanism
id_kem_rsa = _OID(is18033_2, 2, 4)
class KeyLength(univ.Integer):
pass
KeyLength.subtypeSpec = constraint.ValueRangeConstraint(1, MAX)
class RsaKemParameters(univ.Sequence):
pass
RsaKemParameters.componentType = namedtype.NamedTypes(
namedtype.NamedType('keyDerivationFunction', KeyDerivationFunction()),
namedtype.NamedType('keyLength', KeyLength())
)
kem_rsa = AlgorithmIdentifier()
kem_rsa['algorithm'] = id_kem_rsa
kem_rsa['parameters'] = RsaKemParameters()
# Key Derivation Functions
id_kdf_kdf2 = _OID(x9_44_components, 1)
id_kdf_kdf3 = _OID(x9_44_components, 2)
kdf2 = AlgorithmIdentifier()
kdf2['algorithm'] = id_kdf_kdf2
kdf2['parameters'] = KDF2_HashFunction()
kdf3 = AlgorithmIdentifier()
kdf3['algorithm'] = id_kdf_kdf3
kdf3['parameters'] = KDF3_HashFunction()
# Hash Functions
id_sha1 = _OID(1, 3, 14, 3, 2, 26)
id_sha224 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 4)
id_sha256 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 1)
id_sha384 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 2)
id_sha512 = _OID(2, 16, 840, 1, 101, 3, 4, 2, 3)
sha1 = AlgorithmIdentifier()
sha1['algorithm'] = id_sha1
sha1['parameters'] = univ.Null("")
sha224 = AlgorithmIdentifier()
sha224['algorithm'] = id_sha224
sha224['parameters'] = univ.Null("")
sha256 = AlgorithmIdentifier()
sha256['algorithm'] = id_sha256
sha256['parameters'] = univ.Null("")
sha384 = AlgorithmIdentifier()
sha384['algorithm'] = id_sha384
sha384['parameters'] = univ.Null("")
sha512 = AlgorithmIdentifier()
sha512['algorithm'] = id_sha512
sha512['parameters'] = univ.Null("")
# Symmetric Key-Wrapping Schemes
id_aes128_Wrap = _OID(nistAlgorithm, 1, 5)
id_aes192_Wrap = _OID(nistAlgorithm, 1, 25)
id_aes256_Wrap = _OID(nistAlgorithm, 1, 45)
id_alg_CMS3DESwrap = _OID(1, 2, 840, 113549, 1, 9, 16, 3, 6)
id_camellia128_Wrap = _OID(1, 2, 392, 200011, 61, 1, 1, 3, 2)
id_camellia192_Wrap = _OID(1, 2, 392, 200011, 61, 1, 1, 3, 3)
id_camellia256_Wrap = _OID(1, 2, 392, 200011, 61, 1, 1, 3, 4)
aes128_Wrap = AlgorithmIdentifier()
aes128_Wrap['algorithm'] = id_aes128_Wrap
# aes128_Wrap['parameters'] are absent
aes192_Wrap = AlgorithmIdentifier()
aes192_Wrap['algorithm'] = id_aes128_Wrap
# aes192_Wrap['parameters'] are absent
aes256_Wrap = AlgorithmIdentifier()
aes256_Wrap['algorithm'] = id_sha256
# aes256_Wrap['parameters'] are absent
tdes_Wrap = AlgorithmIdentifier()
tdes_Wrap['algorithm'] = id_alg_CMS3DESwrap
tdes_Wrap['parameters'] = univ.Null("")
camellia128_Wrap = AlgorithmIdentifier()
camellia128_Wrap['algorithm'] = id_camellia128_Wrap
# camellia128_Wrap['parameters'] are absent
camellia192_Wrap = AlgorithmIdentifier()
camellia192_Wrap['algorithm'] = id_camellia192_Wrap
# camellia192_Wrap['parameters'] are absent
camellia256_Wrap = AlgorithmIdentifier()
camellia256_Wrap['algorithm'] = id_camellia256_Wrap
# camellia256_Wrap['parameters'] are absent
# Update the Algorithm Identifier map in rfc5280.py.
# Note that the ones that must not have parameters are not added to the map.
_algorithmIdentifierMapUpdate = {
id_rsa_kem: GenericHybridParameters(),
id_kem_rsa: RsaKemParameters(),
id_kdf_kdf2: KDF2_HashFunction(),
id_kdf_kdf3: KDF3_HashFunction(),
id_sha1: univ.Null(),
id_sha224: univ.Null(),
id_sha256: univ.Null(),
id_sha384: univ.Null(),
id_sha512: univ.Null(),
id_alg_CMS3DESwrap: univ.Null(),
}
rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 65 B | 0644 |
|
| pem.py | File | 2.01 KB | 0644 |
|
| rfc1155.py | File | 2.62 KB | 0644 |
|
| rfc1157.py | File | 3.47 KB | 0644 |
|
| rfc1901.py | File | 646 B | 0644 |
|
| rfc1902.py | File | 3.62 KB | 0644 |
|
| rfc1905.py | File | 4.72 KB | 0644 |
|
| rfc2251.py | File | 26.3 KB | 0644 |
|
| rfc2314.py | File | 1.28 KB | 0644 |
|
| rfc2315.py | File | 9.44 KB | 0644 |
|
| rfc2437.py | File | 2.56 KB | 0644 |
|
| rfc2459.py | File | 48.83 KB | 0644 |
|
| rfc2511.py | File | 10.11 KB | 0644 |
|
| rfc2560.py | File | 8.21 KB | 0644 |
|
| rfc2631.py | File | 1.19 KB | 0644 |
|
| rfc2634.py | File | 9.2 KB | 0644 |
|
| rfc2985.py | File | 14.02 KB | 0644 |
|
| rfc2986.py | File | 1.85 KB | 0644 |
|
| rfc3114.py | File | 1.92 KB | 0644 |
|
| rfc3161.py | File | 4.16 KB | 0644 |
|
| rfc3274.py | File | 1.63 KB | 0644 |
|
| rfc3279.py | File | 6.65 KB | 0644 |
|
| rfc3280.py | File | 45.53 KB | 0644 |
|
| rfc3281.py | File | 9.63 KB | 0644 |
|
| rfc3412.py | File | 1.91 KB | 0644 |
|
| rfc3414.py | File | 1.14 KB | 0644 |
|
| rfc3447.py | File | 1.57 KB | 0644 |
|
| rfc3560.py | File | 1.78 KB | 0644 |
|
| rfc3565.py | File | 1.4 KB | 0644 |
|
| rfc3709.py | File | 6.32 KB | 0644 |
|
| rfc3770.py | File | 1.7 KB | 0644 |
|
| rfc3779.py | File | 3.18 KB | 0644 |
|
| rfc3852.py | File | 19.63 KB | 0644 |
|
| rfc4043.py | File | 1.04 KB | 0644 |
|
| rfc4055.py | File | 10.15 KB | 0644 |
|
| rfc4073.py | File | 1.6 KB | 0644 |
|
| rfc4108.py | File | 10.35 KB | 0644 |
|
| rfc4210.py | File | 27.8 KB | 0644 |
|
| rfc4211.py | File | 11.83 KB | 0644 |
|
| rfc4334.py | File | 1.55 KB | 0644 |
|
| rfc4985.py | File | 961 B | 0644 |
|
| rfc5035.py | File | 4.42 KB | 0644 |
|
| rfc5083.py | File | 1.84 KB | 0644 |
|
| rfc5084.py | File | 2.79 KB | 0644 |
|
| rfc5208.py | File | 1.4 KB | 0644 |
|
| rfc5280.py | File | 50.04 KB | 0644 |
|
| rfc5480.py | File | 4.72 KB | 0644 |
|
| rfc5649.py | File | 830 B | 0644 |
|
| rfc5652.py | File | 20.95 KB | 0644 |
|
| rfc5751.py | File | 3.12 KB | 0644 |
|
| rfc5755.py | File | 11.8 KB | 0644 |
|
| rfc5913.py | File | 1.13 KB | 0644 |
|
| rfc5914.py | File | 3.63 KB | 0644 |
|
| rfc5915.py | File | 1.03 KB | 0644 |
|
| rfc5916.py | File | 800 B | 0644 |
|
| rfc5917.py | File | 1.48 KB | 0644 |
|
| rfc5924.py | File | 425 B | 0644 |
|
| rfc5934.py | File | 23.24 KB | 0644 |
|
| rfc5940.py | File | 1.58 KB | 0644 |
|
| rfc5958.py | File | 2.59 KB | 0644 |
|
| rfc5990.py | File | 5.38 KB | 0644 |
|
| rfc6010.py | File | 2.29 KB | 0644 |
|
| rfc6019.py | File | 1.06 KB | 0644 |
|
| rfc6031.py | File | 11.85 KB | 0644 |
|
| rfc6032.py | File | 1.9 KB | 0644 |
|
| rfc6120.py | File | 818 B | 0644 |
|
| rfc6170.py | File | 409 B | 0644 |
|
| rfc6187.py | File | 489 B | 0644 |
|
| rfc6210.py | File | 1.03 KB | 0644 |
|
| rfc6211.py | File | 2.2 KB | 0644 |
|
| rfc6402-1.py | File | 16.65 KB | 0644 |
|
| rfc6402.py | File | 16.75 KB | 0644 |
|
| rfc6482.py | File | 2.04 KB | 0644 |
|
| rfc6486.py | File | 1.87 KB | 0644 |
|
| rfc6487.py | File | 472 B | 0644 |
|
| rfc6664.py | File | 4.17 KB | 0644 |
|
| rfc6955.py | File | 2.75 KB | 0644 |
|
| rfc6960.py | File | 7.73 KB | 0644 |
|
| rfc7030.py | File | 1.41 KB | 0644 |
|
| rfc7191.py | File | 6.9 KB | 0644 |
|
| rfc7229.py | File | 743 B | 0644 |
|
| rfc7292.py | File | 8.28 KB | 0644 |
|
| rfc7296.py | File | 885 B | 0644 |
|
| rfc7508.py | File | 2.13 KB | 0644 |
|
| rfc7585.py | File | 1.05 KB | 0644 |
|
| rfc7633.py | File | 841 B | 0644 |
|
| rfc7773.py | File | 1.28 KB | 0644 |
|
| rfc7894-1.py | File | 2.73 KB | 0644 |
|
| rfc7894.py | File | 2.7 KB | 0644 |
|
| rfc7906.py | File | 18.48 KB | 0644 |
|
| rfc7914.py | File | 1.46 KB | 0644 |
|
| rfc8017.py | File | 4.08 KB | 0644 |
|
| rfc8018.py | File | 6.02 KB | 0644 |
|
| rfc8103.py | File | 1017 B | 0644 |
|
| rfc8209.py | File | 393 B | 0644 |
|
| rfc8226.py | File | 4.19 KB | 0644 |
|
| rfc8358.py | File | 1.11 KB | 0644 |
|
| rfc8360.py | File | 1.05 KB | 0644 |
|
| rfc8398.py | File | 1.16 KB | 0644 |
|
| rfc8410.py | File | 971 B | 0644 |
|
| rfc8418.py | File | 1.08 KB | 0644 |
|
| rfc8419.py | File | 1.66 KB | 0644 |
|
| rfc8479.py | File | 1.12 KB | 0644 |
|
| rfc8494.py | File | 2.31 KB | 0644 |
|
| rfc8520.py | File | 1.46 KB | 0644 |
|
| rfc8619.py | File | 1.11 KB | 0644 |
|
| rfc8649.py | File | 982 B | 0644 |
|