Package io.helidon.security.jwt.jwk
Class JwkRSA.Builder
- java.lang.Object
-
- io.helidon.security.jwt.jwk.JwkRSA.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.JwkRSA
build()
Build a newJwkRSA
instance from this builder.T
certificateChain(List<X509Certificate> chain)
Set certificate chain of the JWK to be built.JwkRSA.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.JwkRSA.Builder
privateKey(RSAPrivateKey privateKey)
Set the private key to be used for performing security operations requiring private key, such as signing data, encrypting/decrypting data etc.JwkRSA.Builder
publicKey(RSAPublicKey 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 JwkRSA.Builder privateKey(RSAPrivateKey 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
- RSA private key instance- Returns:
- updated builder instance
-
publicKey
public JwkRSA.Builder publicKey(RSAPublicKey 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
- RSA public key instance- Returns:
- updated builder instance
-
fromJson
public JwkRSA.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 theJwkRSA
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
-
-