- All Implemented Interfaces:
WebCertificateReference.Builder<JwkBuilder>
,WebKey.Builder<JwkBuilder>
,WebKeyReference.Builder<JwkBuilder>
public class JwkBuilder
extends KeyReferenceBuilder<JwkBuilder>
implements WebKey.Builder<JwkBuilder>
JWK
WebKey.Builder
implementation.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the web key.protected JsonObjectBuilder
build
(JsonObjectBuilder builder) Adds all pending parameters to aJsonObjectBuilder
.Generates a public/private key pair for the algorithm specified byWebKeyReference.Builder.algorithm(Algorithm)
using the default size.ephemeral
(WebEncryption.Encryption encryption) Generates an ephemeral content encryption key.ephemeral
(WebKey.Algorithm algorithm) Generates a public/private key pair or secret key without settingWebKeyReference.Builder.algorithm(edu.iu.crypt.WebKey.Algorithm)
.key
(byte[] key) Adds raw key data.Sets both public and private keys from aKeyPair
.key
(PrivateKey key) Adds private key parameters.Adds public key parameters.static WebKey.Builder
<?> of
(WebKey.Type type) Creates a newWebKey.Builder
.ops
(WebKey.Operation... ops) Sets the key operations.pem
(InputStream pemEncoded) Sets key data from potentially concatenated PEM-encoded input.Sets key data from potentially concatenated PEM-encoded input.type
(WebKey.Type type) Sets the key type.use
(WebKey.Use use) Sets the public key use.Methods inherited from class iu.crypt.KeyReferenceBuilder
algorithm, keyId
Methods inherited from class iu.crypt.CertificateReferenceBuilder
cert, cert, x5t, x5t256
Methods inherited from class edu.iu.client.IuJsonBuilder
copy, param, param, param, paramNames, toJson
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.iu.crypt.WebCertificateReference.Builder
cert, cert, x5t, x5t256
Methods inherited from interface edu.iu.crypt.WebKeyReference.Builder
algorithm, keyId
-
Method Details
-
of
Creates a newWebKey.Builder
.- Parameters:
type
- key type- Returns:
WebKey.Builder
-
type
Description copied from interface:WebKey.Builder
Sets the key type.- Specified by:
type
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
type
- key type- Returns:
- this
-
use
Description copied from interface:WebKey.Builder
Sets the public key use.- Specified by:
use
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
use
- public key use- Returns:
- this
-
ops
Description copied from interface:WebKey.Builder
Sets the key operations.- Specified by:
ops
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
ops
- key operations- Returns:
- this
-
ephemeral
Description copied from interface:WebKey.Builder
Generates a public/private key pair for the algorithm specified byWebKeyReference.Builder.algorithm(Algorithm)
using the default size.- Specified by:
ephemeral
in interfaceWebKey.Builder<JwkBuilder>
- Returns:
- this
-
ephemeral
Description copied from interface:WebKey.Builder
Generates a public/private key pair or secret key without settingWebKeyReference.Builder.algorithm(edu.iu.crypt.WebKey.Algorithm)
.- Specified by:
ephemeral
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
algorithm
- algorithm the key will be used with- Returns:
- this
-
ephemeral
Description copied from interface:WebKey.Builder
Generates an ephemeral content encryption key.- Specified by:
ephemeral
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
encryption
- content encryption algorithm- Returns:
- this
-
key
Description copied from interface:WebKey.Builder
Adds raw key data.- Specified by:
key
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
key
- raw key data- Returns:
- this
-
key
Description copied from interface:WebKey.Builder
Adds public key parameters.- Specified by:
key
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
key
- public key- Returns:
- this
-
key
Description copied from interface:WebKey.Builder
Adds private key parameters.- Specified by:
key
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
key
- private key- Returns:
- this
-
key
Description copied from interface:WebKey.Builder
Sets both public and private keys from aKeyPair
.- Specified by:
key
in interfaceWebKey.Builder<JwkBuilder>
- Parameters:
keyPair
- key pair;- Returns:
- this
-
pem
Description copied from interface:WebCertificateReference.Builder
Sets key data from potentially concatenated PEM-encoded input.- Specified by:
pem
in interfaceWebCertificateReference.Builder<JwkBuilder>
- Overrides:
pem
in classCertificateReferenceBuilder<JwkBuilder>
- Parameters:
pemEncoded
-InputStream
of PEM encoded key data, potentially concatenated- Returns:
- this
-
pem
Description copied from interface:WebCertificateReference.Builder
Sets key data from potentially concatenated PEM-encoded input.- Specified by:
pem
in interfaceWebCertificateReference.Builder<JwkBuilder>
- Overrides:
pem
in classCertificateReferenceBuilder<JwkBuilder>
- Parameters:
pemEncoded
- potentially concatenated PEM encoded key data- Returns:
- this
-
build
Description copied from interface:WebKey.Builder
Builds the web key.- Specified by:
build
in interfaceWebKey.Builder<JwkBuilder>
- Returns:
WebKey
-
build
Description copied from class:IuJsonBuilder
Adds all pending parameters to aJsonObjectBuilder
.- Overrides:
build
in classIuJsonBuilder<JwkBuilder>
- Parameters:
builder
-JsonObjectBuilder
- Returns:
- builder
-