-
COSESigner
class- Added support for EdDSA (PR #11).
-
COSEVerifier
class- Added support for EdDSA (PR #11).
-
New types
BouncyCastleLoader
class (PR #11)EdDSA
class (PR #11)
CWTKeyProofBuilder
class- Added a new command line option
--issued-at TIME
which specifies the issuance time.
- Added a new command line option
CWTKeyProofBuilder
class- Fixed a bug in the
buildProtectedHeader(COSEKey)
method. A COSE key should be wrapped into a byte string before being embedded in the protected header.
- Fixed a bug in the
-
IssuerSignedBuilder
class- Fixed a bug in the
prepareIssuerAuthPayload(IssuerNameSpaces)
method. The definitions ofIssuerAuth
andMobileSecurityObjectBytes
in the ISO/IEC 18013-5 specification give the impression thatMobileSecurityObjectBytes
(which starts with a CBOR tag) is directly used as the payload ofCOSE_Sign1
. However, it is necessary to further convertMobileSecurityObjectBytes
into a byte string.
- Fixed a bug in the
-
SigStructure
class- Changed the type of the fourth argument (
payload
) of the 4-argument constructor fromCBORItem
toCBORByteArray
. - Changed the type of the third argument (
payload
) of the 3-argument constructor fromCBORItem
toCBORByteArray
. - Changed the return type of the
getPayload()
method fromCBORItem
toCBORByteArray
.
- Changed the type of the fourth argument (
-
SigStructureBuilder
class- Removed the
payload(CBORItem)
method.
- Removed the
-
COSEKey
class- Add the
toPublic()
method. - Add the
createPrivateKey()
method. - Add the
createPublicKey()
method. - Add the
copy()
method.
- Add the
-
COSEEC2Key
class- Override the
toPublic()
method. - Override the
createPrivateKey()
method. - Override the
createPublicKey()
method.
- Override the
-
New types
CWTKeyProofBuilder
class
-
Others
- Add the
bin/generate-cwt-key-proof
script.
- Add the
-
Lower the minimum Java version from 11 to 8.
-
Switch from JUnit 4 to JUnit 5.
-
CBORItemList
class- Add the
CBORItemList(T...)
constructor.
- Add the
-
CBORPairList
class- Add the
CBORPairList(T...)
constructor.
- Add the
-
ECDSA
class- Load the
BouncyCastleProvider
and adjust the algorithm name passed to theSignature.getInstance(String)
method when the JRE is older than 9.
- Load the
CBORItem
class- Fix the
encodeToBase64Url()
method to drop padding characters.
- Fix the
- New Types
com.authlete.mdoc.constants
package with the following classes.MDLClaimNames
classMDLConstants
class
-
CBORPairsBuilder
class- Add the
add(Object, Object)
method. - Add the
addUnlessNull(Object, Object)
method.
- Add the
-
COSEKey
class- Add the
fromJwk(Map<String, Object>)
method.
- Add the
CBORByteArray
class- Bugfix of
toString
andprettify
.
- Bugfix of
CBORByteArray
class- Bugfix of tag number comparison.
-
CBORItem
class- Add the
toString(Number)
method.
- Add the
-
CBORByteArray
class- Add the
toString(Number)
method.
- Add the
Introduce a mechanism to support CBOR tags of "Content Hints" (RFC 8949 Section 3.4.5).
-
CBORByteArray
class- Add the
prettify(String, String, Number)
method. - Remove the
prettify(String, String)
method.
- Add the
-
CBORItem
class- Add the
prettify(String, String, Number)
method. - Remove the
prettify(String, String)
method.
- Add the
-
CBORItemList
class- Add the
prettify(String, String, Number)
method. - Remove the
prettify(String, String)
method.
- Add the
-
CBORPairList
class- Add the
prettify(String, String, Number)
method. - Remove the
prettify(String, String)
method.
- Add the
-
CBORTaggedItem
class- Add the
prettify(String, String, Number)
method. - Remove the
prettify(String, String)
method.
- Add the
-
CBORDouble
class- Add
POSITIVE_INFINITY
. - Add
NEGATIVE_INFINITY
. - Add
NaN
.
- Add
-
CBORFloat
class- Add
POSITIVE_INFINITY
. - Add
NEGATIVE_INFINITY
. - Add
NaN
.
- Add
-
CBORByteArray
class- Add the
CBORByteArray(byte[], CBORItem)
constructor. - Add the
CBORByteArray(byte[], List<? extends CBORItem>)
constructor. - Add the
getDecodedContent()
method. - Add the
prettify(String, String)
method. - Remove the
CBORByteArray(byte[], boolean)
constructor. - Remove the
decodeValue()
method.
- Add the
-
CBORizer
class- Add the
getDiagnosticNotationPrefix()
method. - Add the
setDiagnosticNotationPrefix(String)
method. - Add the
getDiagnosticNotationParser()
method. - Add the
setDiagnosticNotationParser(CBORDiagnosticNotationParser)
method.
- Add the
-
CBORItem
class- Add the
getComment()
method. - Add the
setComment(String)
method. - Add the
encodeToBase64()
method. - Add the
encodeToBase64Url()
method. - Add the
encodeToHex()
method. - Add the
prettify()
method. - Add the
prettify(String, String)
method.
- Add the
-
CBORItemList
class- Change the type of the argument passed to the constructor from
List<CBORItem>
toList<? extends CBORItem>
. This change affects other classes, mainly subclasses. - Add the
prettify(String, String)
method.
- Change the type of the argument passed to the constructor from
-
CBORPair
class- Add the
CBORPair(CBORItem, CBORItem, String, String)
constructor. - Add the
getKeyComment()
method. - Add the
setKeyComment(String)
method. - Add the
getValueComment()
method. - Add the
setValueComment(String)
method. - Add the
prettify(String, String)
method.
- Add the
-
CBORPairList
class- Change the type of the argument passed to the constructor from
List<CBORPair>
toList<? extends CBORPair>
. This change affects other classes, mainly subclasses. - Add the
prettify(String, String)
method. - Add the
findByKey(Object)
method.
- Change the type of the argument passed to the constructor from
-
CBORSign1Builder
class- Add the
payload(CBORItem)
method.
- Add the
-
CBORSignBuilder
class- Add the
payload(CBORItem)
method.
- Add the
-
CBORTaggedItem
class- Add the
prettify(String, String)
method.
- Add the
-
COSEEllipticCurves
class- Add
P_256_NAME
. - Add
P_384_NAME
. - Add
P_521_NAME
. - Add
X25519_NAME
. - Add
X448_NAME
. - Add
Ed25519_NAME
. - Add
Ed448_NAME
. - Add
SECP256K1_NAME
.
- Add
-
COSEHeaderBuilder
class- Add the
alg(Object)
method. - Add the
x5chain(List<X509Certificate> chain)
method.
- Add the
-
`COSEHeaderParameters' class
- Add the
getNameByValue(int)
method.
- Add the
-
COSEKeyBuilder
class- Add the
okpXInBase64Url(String)
method. - Add the
okpDInBase64Url(String)
method. - Add the
baseIvInBase64Url(String)
method. - Add the
ec2XInBase64Url(String)
method. - Add the
ec2YInBase64Url(String)
method. - Add the
ec2DInBase64Url(String)
method. - Add the
rsaNInBase64Url(String)
method. - Add the
rsaEInBase64Url(String)
method. - Add the
rsaDInBase64Url(String)
method. - Add the
rsaPInBase64Url(String)
method. - Add the
rsaQInBase64Url(String)
method. - Add the
rsaDPInBase64Url(String)
method. - Add the
rsaDQInBase64Url(String)
method. - Add the
rsaQInvInBase64Url(String)
method. - Add the
rsaRIInBase64Url(String)
method. - Add the
rsaDIInBase64Url(String)
method. - Add the
rsaTIInBase64Url(String)
method. - Add the
symmetricKInBase64Url(String)
method. - Add the
hssLmsPubInBase64Url(String)
method.
- Add the
-
COSEMessageType
enum- Add the
getName()
method.
- Add the
-
SigStructure
class- Change the type of the
payload
argument of the constructors fromCBORByteArray
toCBORItem
. This is because the "ISO/IEC 18013-5:2021" standard requires that the payload start with a tag instead of a byte string.
- Change the type of the
-
SigStructureBuilder
class- Add the
payload(CBORItem)
method.
- Add the
-
New Types
CBORPairsBuilder
classCBORDiagnosticNotationException
classCBORDiagnosticNotationParser
interfacecom.authlete.mdoc
package containing new 36 public classes.
-
COSEMessage
class- Change the type of the first argument of the constructor from
int
toCOSEMessageType
. - Add the
getType()
method.
- Change the type of the first argument of the constructor from
-
New Types
COSEMessageType
enumCWTClaims
classCWTClaimsSet
classCWTClaimsSetBuilder
class
-
COSEAlgorithms
enum- Add
RS512
,RS384
,RS256
andES256K
.
- Add
-
COSEEC2Key
class- Override the
isPrivate()
method. - Override the
addJwkProperties(Map)
method.
- Override the
-
COSEKey
class- Add the
isPrivate()
method. - Add the
toJwk()
method. - Add the
addJwkProperties(Map)
method.
- Add the
-
COSEOKPKey
class- Override the
isPrivate()
method. - Override the
addJwkProperties(Map)
method.
- Override the
- Support the
x5chain
header parameter (RFC 9360).
- Basic components for COSE.
- Signing and verification for ECDSA.
The initial implementation that supports CBOR.