java.lang.Object
org.shredzone.acme4j.toolbox.JoseUtils
Utility class that takes care of all the JOSE stuff.
- Since:
- 2.7
-
Method Summary
Modifier and TypeMethodDescriptioncreateExternalAccountBinding(String kid, PublicKey accountKey, SecretKey macKey, URL resource) Creates a JSON structure for external account binding.static JSONBuildercreateJoseRequest(URL url, KeyPair keypair, JSONBuilder payload, String nonce, String kid) Creates an ACME JOSE request.static PublicKeyjwkToPublicKey(Map<String, Object> jwk) Converts a JOSE JWK structure to aPublicKey.static StringkeyAlgorithm(org.jose4j.jwk.JsonWebKey jwk) Analyzes the key used in theJsonWebKey, and returns the key algorithm identifier forJsonWebSignature.static StringmacKeyAlgorithm(SecretKey macKey) Analyzes theSecretKey, and returns the key algorithm identifier forJsonWebSignature.publicKeyToJWK(PublicKey key) Converts aPublicKeyto a JOSE JWK structure.static byte[]thumbprint(PublicKey key) Computes a thumbprint of the given public key.
-
Method Details
-
createJoseRequest
public static JSONBuilder createJoseRequest(URL url, KeyPair keypair, @Nullable JSONBuilder payload, @Nullable String nonce, @Nullable String kid) Creates an ACME JOSE request.- Parameters:
url-URLof the ACME callkeypair-KeyPairto sign the request withpayload- ACME JSON payload. Ifnull, a POST-as-GET request is generated instead.nonce- Nonce to be used.nullif no nonce is to be used in the JOSE header.kid- kid to be used in the JOSE header. Ifnull, a jwk header of the given key is used instead.- Returns:
- JSON structure of the JOSE request, ready to be sent.
-
createExternalAccountBinding
public static Map<String,Object> createExternalAccountBinding(String kid, PublicKey accountKey, SecretKey macKey, URL resource) Creates a JSON structure for external account binding. -
publicKeyToJWK
Converts aPublicKeyto a JOSE JWK structure.- Parameters:
key-PublicKeyto convert- Returns:
- JSON map containing the JWK structure
-
jwkToPublicKey
Converts a JOSE JWK structure to aPublicKey.- Parameters:
jwk- Map containing a JWK structure- Returns:
- the extracted
PublicKey
-
thumbprint
Computes a thumbprint of the given public key.- Parameters:
key-PublicKeyto get the thumbprint of- Returns:
- Thumbprint of the key
-
keyAlgorithm
Analyzes the key used in theJsonWebKey, and returns the key algorithm identifier forJsonWebSignature.- Parameters:
jwk-JsonWebKeyto analyze- Returns:
- algorithm identifier
- Throws:
IllegalArgumentException- there is no corresponding algorithm identifier for the key
-
macKeyAlgorithm
Analyzes theSecretKey, and returns the key algorithm identifier forJsonWebSignature.- Parameters:
macKey-SecretKeyto analyze- Returns:
- algorithm identifier
- Throws:
IllegalArgumentException- there is no corresponding algorithm identifier for the key
-