More cowbell targets!
A new artifact, minor breaking changes and a lot more targets ahead!
The public API remains almost unchanged. Breaking API changes are:
- Some parsing methods migrating from a
ByteIterator
to kotlinx-ioSource
- Move
ensureSize
from packageasn1
tomisc
- Change CSR to take an actual
CryptoSignature
instead of a ByteArray - Remove Legacy iOS Attestation
- Add type parameter to
JwsSigned
for its payload - Add type parameter to
JweDecrypted
for its payload JwsSigned.prepareSignatureInput
now returns a raw ByteArray- Move
BitSet
fromio
toasn1
package
The internals have changed substantially, however, and some fixes lead to behavioural changes.
Therefore, be sure to match Signum versions if multiple libraries pull it in as transitive dependency.
Better safe than sorry!
The full list of changes is:
- Discrete ASN.1 module
indispensable-asn1
supporting the following platforms:- JVM
- Android
- iOS
- watchOS
- tvOS
- JS
- wasm/JS
- Linux X64
- Linux AARCH64
- MinGw X64
- More targets for
indispensable
,indispensable-josef
,indispensable-cosef
- JVM
- Android
- iOS
- watchOS
- tvOS
- JS
- wasm/JS
- Linux X64
- Linux AARCH64
- MinGw X64
- KmmResult 1.9.0
- Multibase 1.2.1
- Introduce generic tag assertion to
Asn1Element
- Change CSR to take an actual
CryptoSignature
instead of a ByteArray - Introduce shorthand to create CSR from TbsCSR
- Introduce shorthand to create certificate from TbsCertificate
- Remove requirement from CSR to have certificate extensions
- Fix CoseSigned equals
- Base OIDs on unsigned varint instead of UInt
- Directly support UUID-based OID creation
- Implement hash-to-curve and hash-to-scalar as per RFC9380
- Rename
decodeFromDerHexString
toparseFromDerHexString
- Move
ensureSize
from packageasn1
tomisc
- Move
BitSet
fromio
toasn1
package - Use kotlinx-io as primary source for parsing
- Base number encoding/decoding on kotlinx-io
- Remove parsing from iterator
- Base ASN.1 encoding and decoding on kotlinx-io
- Remove single element decoding from Iterator
- Base number encoding/decoding on kotlinx-io
- Introduce
prepareDigestInput()
toIosHomebrewAttestation
- Remove Legacy iOS Attestation
- Add type parameter to
JwsSigned
for its payload - Add type parameter to
JweDecrypted
for its payload JwsSigned.prepareSignatureInput
now returns a raw ByteArray- Tests that do not depend on BouncyCastle/JCA are now performed for all targets
- Remove Napier dependency