Change Log
0.3.8 - 2024-07-24
- Make
CoseSign[1]::tbs_[detached_]data methods pub.
0.3.7 - 2024-04-05
- Bump MSRV to 1.58.
- Update dependencies.
- Fix bounds bug for label sorting.
0.3.6 - 2024-01-15
- Helpers for ordering of fields in a
COSE_Key:- Add
Label::cmp_canonical() for RFC 7049 canonical ordering. - Add
CborOrdering enum to specify ordering. - Add
CoseKey::canonicalize() method to order fields.
0.3.5 - 2023-09-29
- Add helper methods to create and verify detached signatures:
- Add
CoseSignBuilder methods add_detached_signature and try_add_detached_signature. - Add
CoseSign method verify_detached_signature. - Add
CoseSign1Builder methods create_detached_signature and try_create_detached_signature. - Add
CoseSign1 method verify_detached_signature.
- Implement CBOR conversion traits for
ciborium::value::Value. - Update
ciborium dependency.
0.3.4 - 2023-01-25
- Add non-default
std feature that turns on impl Error for CoseError. - Add
cwt::ClaimsSetBuilder::private_claim method. - Update documentation for existing encryption methods to make it clear that they only support AEAD encryption.
0.3.3 - 2022-09-30
- Add
CoseKeyBuilder methods kty, key_type and new_okp_key.
0.3.2 - 2022-04-02
- Add basic CWT support in
cwt module, via the ClaimsSet type.
0.3.1 - 2022-02-23
- Implement
Display for CoseError. - Fix
Cargo.toml to indicate reliance on alloc feature of ciborium-io. - Make
AsCborValue trait public.
0.3.0 - 2022-01-19
- Change to use
ciborium as CBOR library. Breaking change with many knock-on effects:- Re-export
ciborium as coset::cbor (rather than sk-cbor). - Use
ciborium's Value type rather than sk-cbor's version. - Change
CoseError to no longer wrap sk-cbor errors. - Drop
derive of Eq for data types (ciborium supports float values, which are inherently non-Eq) - Add
#[must_use] attributes to builder methods. - Update MSRV to 1.56.0, as
ciborium is edition=2021
- Use new
ProtectedHeader type for protected headers (breaking change). This variant of Header preserves any originally-parsed data, so that calculations (signatures, decryption, etc.) over the data can use the bit-for-bit wire data instead of a reconstituted (and potentially different) version. - Add more specific error cases to
CoseError (breaking change):- Use new
OutOfRangeIntegerValue error when an integer value is too large for the representation used in this crate. - Use new
DuplicateMapKey error when a CBOR map contains duplicate keys (and is thus invalid). - Extend
DecodeFailed error to include the underlying ciborium::de::Error value. - Use new
ExtraneousData error when data remains after reading a CBOR value. - Rename
UnexpectedType error to UnexpectedItem to reflect broader usage than type.
- Add a crate-specific
Result type whose E field defaults to CoseError.
0.2.0 - 2021-12-09
- Change to use
sk-cbor as CBOR library, due to deprecation of serde-cbor. Breaking change with many knock-on effects:- Re-export
sk-cbor as coset::cbor. - Use
sk-cbor's Value type rather than serde-cbor's version. - Change encoding methods to consume
self. - Change encoding methods to be fallible.
- Move to be
no_std (but still using alloc) - Add
CoseError error type and use throughout. - Use
Vec of pairs not BTreeMaps for CBOR map values. - Use
i64 not i128 for integer values throughout. - Drop use of
serde's Serialize and Deserialize traits; instead… - Add
CborSerializable extension trait for conversion to/from bytes. - Drop
from_tagged_reader / to_tagged_writer methods from TaggedCborSerializable trait. - Derive
Debug for builders. - Convert
CoseKeySet to a newtype, and add standard traits.
0.1.2 - 2021-08-24
- Add fallible variants of builder methods that invoke closures (#20):
CoseRecipientBuilder::try_create_ciphertext()CoseEncryptBuilder::try_create_ciphertext()CoseEncrypt0Builder::try_create_ciphertext()CoseMacBuilder::try_create_tag()CoseMac0Builder::try_create_tag()CoseSignBuilder::try_add_created_signature()CoseSign1Builder::try_create_signature()
- Upgrade dependencies.
0.1.1 - 2021-06-24
- Make
KeyType and KeyOperation public. - Upgrade dependencies.
0.1.0 - 2021-05-18
- Initial version, using
serde-cbor as CBOR library.