Symmetric Encryption and Major Cleanups
-
Note: All debug-only kotlinx.serialization for cryptographic datatypes like certificates, public keys, etc. was removed!
- We support robust ASN.1 encoding and mapping from/to JOSE and COSE datatypes and our ASN.1 structures support pretty printing.
- -> There is no need for this misleading serialization support for debugging anymore.
@Serializable
suggests deserialization from JSON, CBOR, etc. works, which was never universally true.- Getting native ASN.1 serialization for kotlinx-serialization is now a no-brainer given we support every primitive required.
- Serializers like
X509CertificateBase64UrlSerializer
are here to stay because those are universally useful! ObjectIdSerializer
was renamed toObjectIdentifierStringSerializer
-
HMAC Support
- This finally cleans up the
RSAorHMAC
mess, which is a breaking change - Introduce umbrella
DataIntegrityAlgorithms
, which is the parent ofSignatureAlgorithm
andMessageAuthenticationCode
JwsAlgorithm
andCoseAlgorithm
are now abstract, having subclasses.JwsAlgorithm
s andCoseAlgorithm
s are now available under.Signature
and.MAC
respectively. There are no toplevel constants of predefined algorithms anymore!
- This finally cleans up the
-
Symmetric Encryption
- Supported Algorithms
- AES
- GCM
- CBC-HMAC
- CBC
- ECB
- KW
- ChaCha-Poly1305
- AES
- Add algorithm mappings to indispensable-josef This is a binary-incompatible change
ivLength
andencryptionKeyLength
now returnBitLength
instead ofInt
text
is now properly calledidentifier
- Supported Algorithms
-
Move
HazardousMaterials
annotation fromsupreme
toindispensable
This is a breaking change -
Move
SecretExposure
annotation fromsupreme
toindispensable
This is a breaking change -
Expose
SecureRandom
as API dependency inindispensable
-
Rename
CoseAlgorithm.value
->CoseAlgorithm.coseValue
-
Fix COSE key parsing for unordered properties
-
Remove code elements deprecated in 3.15.0, related to OID4VCI and HAIP