Package io.helidon.security.jwt.jwk
Class JwkEC.Builder
- java.lang.Object
-
- io.helidon.security.jwt.jwk.JwkEC.Builder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TaddCertificateChain(X509Certificate cert)Add a certificate to certificate chain of the JWK to be built.TaddOperation(String operation)Add intended operation of this JWK.Talgorithm(String algorithm)Algorithm of the key being built.JwkECbuild()Build a newJwkECinstance from this builder.TcertificateChain(List<X509Certificate> chain)Set certificate chain of the JWK to be built.JwkEC.BuilderfromJson(JsonObject json)Update this builder from JWK in json format.TkeyId(String keyId)Key id of the key being built.TkeyType(String keyType)Key type of the key being built.Toperations(List<String> operations)Intended operations of this JWK.JwkEC.BuilderprivateKey(ECPrivateKey privateKey)Set the private key to be used for performing security operations requiring private key, such as signing data, encrypting/decrypting data etc.JwkEC.BuilderpublicKey(ECPublicKey publicKey)Set the public key to be used for performing security operations requiring public key, such as signature verification, encrypting/decrypting data etc.Tsha1Thumbprint(byte[] thumbprint)Thumbprint (X.509 Certificate SHA-1 Thumbprint) of the DER encoding of the certificate.Tsha256Thumbprint(byte[] thumbprint)Thumbprint (X.509 Certificate SHA-256 Thumbprint) of the DER encoding of the certificate.Tusage(String usage)Intended usage of this JWK.
-
-
-
Method Detail
-
privateKey
public JwkEC.Builder privateKey(ECPrivateKey privateKey)
Set the private key to be used for performing security operations requiring private key, such as signing data, encrypting/decrypting data etc.- Parameters:
privateKey- EC private key instance- Returns:
- updated builder instance
-
publicKey
public JwkEC.Builder publicKey(ECPublicKey publicKey)
Set the public key to be used for performing security operations requiring public key, such as signature verification, encrypting/decrypting data etc.- Parameters:
publicKey- EC public key instance- Returns:
- updated builder instance
-
fromJson
public JwkEC.Builder fromJson(JsonObject json)
Update this builder from JWK in json format.- Parameters:
json- JsonObject with the JWK- Returns:
- updated builder instance, just call
build()to build theJwkECinstance - See Also:
as a shortcut if no additional configuration is to be done
-
certificateChain
public T certificateChain(List<X509Certificate> chain)
Set certificate chain of the JWK to be built.- Parameters:
chain- certificate chain, where the certificate of this JWK's public must be the first in the list- Returns:
- updated builder instance
-
addCertificateChain
public T addCertificateChain(X509Certificate cert)
Add a certificate to certificate chain of the JWK to be built.- Parameters:
cert- certificate to add to the chain- Returns:
- updated builder instance
-
sha1Thumbprint
public T sha1Thumbprint(byte[] thumbprint)
Thumbprint (X.509 Certificate SHA-1 Thumbprint) of the DER encoding of the certificate. Sometimes referred to as fingerprint.- Parameters:
thumbprint- thumbprint bytes (raw bytes)- Returns:
- updated builder instance
-
sha256Thumbprint
public T sha256Thumbprint(byte[] thumbprint)
Thumbprint (X.509 Certificate SHA-256 Thumbprint) of the DER encoding of the certificate. Sometimes referred to as fingerprint.- Parameters:
thumbprint- thumbprint bytes (raw bytes)- Returns:
- updated builder instance
-
keyType
public T keyType(String keyType)
Key type of the key being built.- Parameters:
keyType- one of supported key types- Returns:
- updated builder instance
- See Also:
Jwk.KEY_TYPE_EC,Jwk.KEY_TYPE_RSA,Jwk.KEY_TYPE_OCT
-
keyId
public T keyId(String keyId)
Key id of the key being built. Note that within one set of keysJwkKeysthis must be unique.- Parameters:
keyId- key id to map from a signed entity (such as JWT) to JWK definition- Returns:
- updated builder instance
-
algorithm
public T algorithm(String algorithm)
Algorithm of the key being built. Algorithm is optional (each type may have a reasonable default).
-
usage
public T usage(String usage)
Intended usage of this JWK. You may configure usage,operationsor neither (never both).- Parameters:
usage- usage of this JWK- Returns:
- updated builder instance
- See Also:
Jwk.USE_ENCRYPTION,Jwk.USE_SIGNATURE
-
operations
public T operations(List<String> operations)
Intended operations of this JWK. You may configure operations,usageor neither (never both).- Parameters:
operations- operations to use, replaces existing operations- Returns:
- updated builder instance
-
-