| # This file is being contributed to pyasn1-modules software. |
| # |
| # Created by Russ Housley. |
| # Modified by Russ Housley to add maps for use with opentypes. |
| # |
| # Copyright (c) 2019, Vigil Security, LLC |
| # License: http://snmplabs.com/pyasn1/license.html |
| # |
| # Use of the Advanced Encryption Standard (AES) Encryption |
| # Algorithm in the Cryptographic Message Syntax (CMS) |
| # |
| # ASN.1 source from: |
| # https://www.rfc-editor.org/rfc/rfc3565.txt |
| |
| |
| from pyasn1.type import constraint |
| from pyasn1.type import univ |
| |
| from pyasn1_modules import rfc5280 |
| |
| |
| class AlgorithmIdentifier(rfc5280.AlgorithmIdentifier): |
| pass |
| |
| |
| class AES_IV(univ.OctetString): |
| pass |
| |
| AES_IV.subtypeSpec = constraint.ValueSizeConstraint(16, 16) |
| |
| |
| id_aes128_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.2') |
| |
| id_aes192_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.22') |
| |
| id_aes256_CBC = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.42') |
| |
| |
| id_aes128_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.5') |
| |
| id_aes192_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.25') |
| |
| id_aes256_wrap = univ.ObjectIdentifier('2.16.840.1.101.3.4.1.45') |
| |
| |
| # Update the Algorithm Identifier map |
| |
| _algorithmIdentifierMapUpdate = { |
| id_aes128_CBC: AES_IV(), |
| id_aes192_CBC: AES_IV(), |
| id_aes256_CBC: AES_IV(), |
| id_aes128_wrap: univ.Null(), |
| id_aes192_wrap: univ.Null(), |
| id_aes256_wrap: univ.Null(), |
| } |
| |
| rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate) |