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 T
addCertificateChain(X509Certificate cert)
Add a certificate to certificate chain of the JWK to be built.T
addOperation(String operation)
Add intended operation of this JWK.T
algorithm(String algorithm)
Algorithm of the key being built.JwkEC
build()
Build a newJwkEC
instance from this builder.T
certificateChain(List<X509Certificate> chain)
Set certificate chain of the JWK to be built.JwkEC.Builder
fromJson(JsonObject json)
Update this builder from JWK in json format.T
keyId(String keyId)
Key id of the key being built.T
keyType(String keyType)
Key type of the key being built.T
operations(List<String> operations)
Intended operations of this JWK.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.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.T
sha1Thumbprint(byte[] thumbprint)
Thumbprint (X.509 Certificate SHA-1 Thumbprint) of the DER encoding of the certificate.T
sha256Thumbprint(byte[] thumbprint)
Thumbprint (X.509 Certificate SHA-256 Thumbprint) of the DER encoding of the certificate.T
usage(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 theJwkEC
instance - 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 keysJwkKeys
this 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,operations
or 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,usage
or neither (never both).- Parameters:
operations
- operations to use, replaces existing operations- Returns:
- updated builder instance
-
-