Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update asn1crypto to 1.3.0 #825

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Jan 4, 2020

This PR updates asn1crypto from 0.24.0 to 1.3.0.

Changelog

1.3.0

- Added `encrypt_key_pref` (`1.2.840.113549.1.9.16.2.11`) to
`cms.CMSAttributeType()`, along with related structures
- Added Brainpool curves from RFC 5639 to `keys.NamedCurve()`
- Fixed `x509.Certificate().subject_directory_attributes_value`
- Fixed some incorrectly computed minimum elliptic curve primary key
encoding sizes in `keys.NamedCurve()`
- Fixed a `TypeError` when trying to call `.untag()` or `.copy()` on a
`core.UTCTime()` or `core.GeneralizedTime()`, or a value containing one,
when using Python 2

1.2.0

- Added `asn1crypto.load_order()`, which returns a `list` of unicode strings
of the names of the fully-qualified module names for all of submodules of
the package. The module names are listed in their dependency load order.
This is primarily intended for the sake of implementing hot reloading.

1.1.0

- Added User ID (`0.9.2342.19200300.100.1.1`) to `x509.NameType()`
- Added various EC named curves to `keys.NamedCurve()`

1.0.1

- Fix an absolute import in `keys` to a relative import

1.0.0

- Backwards Compatibility Breaks
 - `cms.KeyEncryptionAlgorithmId().native` now returns the value
   `"rsaes_pkcs1v15"` for OID `1.2.840.113549.1.1.1` instead of `"rsa"` 
 - Removed functionality to calculate public key values from private key
   values. Alternatives have been added to oscrypto.
    - `keys.PrivateKeyInfo().unwrap()` is now
      `oscrypto.asymmetric.PrivateKey().unwrap()`
    - `keys.PrivateKeyInfo().public_key` is now
      `oscrypto.asymmetric.PrivateKey().public_key.unwrap()`
    - `keys.PrivateKeyInfo().public_key_info` is now
      `oscrypto.asymmetric.PrivateKey().public_key.asn1`
    - `keys.PrivateKeyInfo().fingerprint` is now
      `oscrypto.asymmetric.PrivateKey().fingerprint`
    - `keys.PublicKeyInfo().unwrap()` is now
      `oscrypto.asymmetric.PublicKey().unwrap()`
    - `keys.PublicKeyInfo().fingerprint` is now
      `oscrypto.asymmetric.PublicKey().fingerprint`
- Enhancements
 - Significantly improved parsing of `core.UTCTime()` and
   `core.GeneralizedTime()` values that include timezones and fractional
   seconds
 - `util.timezone` has a more complete implementation
 - `core.Choice()` may now be constructed by a 2-element tuple or a 1-key
   dict
 - Added `x509.Certificate().not_valid_before` and
   `x509.Certificate().not_valid_after`
 - Added `core.BitString().unused_bits`
 - Added `keys.NamedCurve.register()` for non-mainstream curve OIDs
 - No longer try to load optional performance dependency, `libcrypto`,
   on Mac or Linux
 - `ocsp.CertStatus().native` will now return meaningful unicode string
   values when the status choice is `"good"` or `"unknown"`. Previously
   both returned `None` due to the way the structure was designed.
 - Add support for explicit RSA SSA PSS (`1.2.840.113549.1.1.10`) to
   `keys.PublicKeyInfo()` and `keys.PrivateKeyInfo()`
 - Added structures for nested SHA-256 Windows PE signatures to
   `cms.CMSAttribute()`
 - Added RC4 (`1.2.840.113549.3.4`) to `algos.EncryptionAlgorithmId()`
 - Added secp256k1 (`1.3.132.0.10`) to `keys.NamedCurve()`
 - Added SHA-3 and SHAKE OIDs to `algos.DigestAlgorithmId()` and
   `algos.HmacAlgorithmId()`
 - Added RSA ES OAEP (`1.2.840.113549.1.1.7`) to
   `cms.KeyEncryptionAlgorithmId()`
 - Add IKE Intermediate (`1.3.6.1.5.5.8.2.2`) to `x509.KeyPurposeId()`
 - `x509.EmailAddress()` and `x509.DNSName()` now handle invalidly-encoded
   values using tags for `core.PrintableString()` and `core.UTF8String()`
 - Add parameter structue from RFC 5084 for AES-CCM to
   `algos.EncryptionAlgorithm()`
 - Improved robustness of parsing broken `core.Sequence()` and
   `core.SequenceOf()` values
- Bug Fixes
 - Fixed encoding of tag values over 30
 - `core.IntegerBitString()` and `core.IntegerOctetString()` now restrict
   values to non-negative integers since negative values are not
   implemented
 - When copying or dumping a BER-encoded indefinite-length value,
   automatically force re-encoding to DER. *To ensure all nested values are
   always DER-encoded, `.dump(True)` must be called.*
 - Fix `UnboundLocalError` when calling `x509.IPAddress().native` on an
   encoded value that has a length of zero
 - Fixed passing `class_` via unicode string name to `core.Asn1Value()`
 - Fixed a bug where EC private keys with leading null bytes would be
   encoded in `keys.ECPrivateKey()` more narrowly than RFC 5915 requires
 - Fixed some edge-case bugs in `util.int_to_bytes()`
 - `x509.URI()` now only normalizes values when comparing
 - Fixed BER-decoding of indefinite length `core.BitString()`
 - Fixed DER-encoding of empty `core.BitString()`
 - Fixed a missing return value for `core.Choice().parse()`
 - Fixed `core.Choice().contents` working when the chosen alternative is a
   `core.Choice()` also
 - Fixed parsing and encoding of nested `core.Choice()` objects
 - Fixed a bug causing `core.ObjectIdentifier().native` to sometimes not
   map the OID
- Packaging
 - `wheel`, `sdist` and `bdist_egg` releases now all include LICENSE,
   `sdist` includes docs
 - Added `asn1crypto_tests` package to PyPi
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant