Skip to main content

Vault | Java SDK

State change

stateChange(java.lang.String, int,cloud.pangeacyber.pangea.vault.models.ItemVersionState)

Change the state of a specific version of a secret or key.

required parameters

java.lang.String
  • item id to change
int
  • item version to change
cloud.pangeacyber.pangea.vault.models.ItemVersionState
  • state to set to item version

Response Object

StateChangeResponse
 StateChangeResponse stateChangeResponse = client.stateChange("id", 1, ItemVersionState.DEACTIVATED);

Delete

delete(java.lang.String)

Delete a secret or key.

required parameters

java.lang.String
  • item id to delete

Response Object

DeleteResponse
 DeleteResponse deleteResponse = client.delele("id");

Retrieve

get(cloud.pangeacyber.pangea.vault.requests.GetRequest)

Retrieve a secret or key, and any associated information.

required parameters

cloud.pangeacyber.pangea.vault.requests.GetRequest
  • request to /get endpoint

Response Object

GetResponse
 GetResponse getResponse = client.get(
 	new GetRequest.GetRequestBuilder("id").build()
 );

List

list(cloud.pangeacyber.pangea.vault.requests.ListRequest)

Retrieve a list of secrets, keys and folders, and their associated information.

required parameters

cloud.pangeacyber.pangea.vault.requests.ListRequest
  • request parameters to send to list endpoint

Response Object

ListResponse
 ListResponse listResponse = client.list(
 	new ListRequest.ListRequestBuilder().build()
 );

Update

update(cloud.pangeacyber.pangea.vault.requests.UpdateRequest)

Update information associated with a secret or key.

required parameters

cloud.pangeacyber.pangea.vault.requests.UpdateRequest
  • request parameters to send to update endpoint

Response Object

UpdateResponse
 UpdateResponse updateResponse = client.update(
 	new UpdateRequest.UpdateRequestBuilder("id")
 	.setFolder("updated")
 	.build()
 );

Store a secret

secretStore(cloud.pangeacyber.pangea.vault.requests.SecretStoreRequest)

Store a secret in vault service.

required parameters

cloud.pangeacyber.pangea.vault.requests.SecretStoreRequest
  • request parameters to send to /secret/store endpoint

Response Object

SecretStoreResponse
 SecretStoreResponse storeResponse =
 	client.secretStore(new SecretStoreRequest.SecretStoreRequestBuilder("mysecret", "mysecretname").build());

Store a Pangea Token

pangeaTokenStore(cloud.pangeacyber.pangea.vault.requests.PangeaTokenStoreRequest)

Store a pangea token in vault service.

required parameters

cloud.pangeacyber.pangea.vault.requests.PangeaTokenStoreRequest
  • request parameters to send to /secret/store endpoint

Response Object

SecretStoreResponse
 SecretStoreResponse storeResponse =
 	client.pangeaTokenStore(new PangeaTokenStoreRequest.PangeaTokenStoreRequestBuilder("mytoken", "mytokenname").build());

Rotate a secret

secretRotate(cloud.pangeacyber.pangea.vault.requests.SecretRotateRequest)

Rotate a secret in vault service.

required parameters

cloud.pangeacyber.pangea.vault.requests.SecretRotateRequest
  • secret rotate request

Response Object

SecretRotateResponse
 SecretRotateResponse rotateResponse = client.secretRotate(
 	new SecretRotateRequest.SecretRotateRequestBuilder("secretid", "mynewsecret")
 		.setRotationState(ItemVersionState.SUSPENDED)
 		.build()
 );

Rotate a Pangea Token

pangeaTokenRotate(cloud.pangeacyber.pangea.vault.requests.PangeaTokenRotateRequest)

Rotate a Pangea Token in vault service.

required parameters

cloud.pangeacyber.pangea.vault.requests.PangeaTokenRotateRequest
  • pangea token store request

Response Object

SecretRotateResponse
 SecretRotateResponse rotateResponse = client.pangeaTokenRotate(
 	new PangeaTokenStoreRequest.PangeaTokenRotateRequestBuilder("tokenid", "3m")
 		.build()
 );

Symmetric generate

symmetricGenerate(cloud.pangeacyber.pangea.vault.requests.SymmetricGenerateRequest)

Generate a symmetric key.

required parameters

cloud.pangeacyber.pangea.vault.requests.SymmetricGenerateRequest
  • request parameters to send to /key/generate endpoint

Response Object

SymmetricGenerateResponse
 SymmetricGenerateRequest generateRequest = new SymmetricGenerateRequest.SymmetricGenerateRequestBuilder(
 	SymmetricAlgorithm.AES128_CFB,
 	KeyPurpose.ENCRYPTION,
 	"keyname"
 ).build();
 SymmetricGenerateResponse generateResp = client.symmetricGenerate(generateRequest);

Asymmetric generate

asymmetricGenerate(cloud.pangeacyber.pangea.vault.requests.AsymmetricGenerateRequest)

Generate an asymmetric key.

required parameters

cloud.pangeacyber.pangea.vault.requests.AsymmetricGenerateRequest
  • request parameters to send to /key/generate endpoint

Response Object

AsymmetricGenerateResponse
 AsymmetricGenerateRequest generateRequest = new AsymmetricGenerateRequest.AsymmetricGenerateRequestBuilder(
 	AsymmetricAlgorithm.ED25519,
 	KeyPurpose.SIGNING,
 	"keyname"
 ).build();
 AsymmetricGenerateResponse generateResp = client.asymmetricGenerate(generateRequest);

Asymmetric store

asymmetricStore(cloud.pangeacyber.pangea.vault.requests.AsymmetricStoreRequest)

Import an asymmetric key.

required parameters

cloud.pangeacyber.pangea.vault.requests.AsymmetricStoreRequest
  • request parameters to send to /key/store endpoint

Response Object

AsymmetricStoreResponse
 AsymmetricStoreRequest storeRequest = new AsymmetricStoreRequest.AsymmetricStoreRequestBuilder(
 	"encodedprivatekey",
 	"encodedpublickey",
 	AsymmetricAlgorithm.ED25519,
 	KeyPurpose.SIGNING,
 	"keyname"
 ).build();
 AsymmetricStoreResponse storeResp = client.asymmetricStore(storeRequest);

Symmetric store

symmetricStore(cloud.pangeacyber.pangea.vault.requests.SymmetricStoreRequest)

Import a symmetric key.

required parameters

cloud.pangeacyber.pangea.vault.requests.SymmetricStoreRequest
  • request parameters to send to /key/store endpoint

Response Object

SymmetricStoreResponse
 SymmetricStoreRequest storeRequest = new SymmetricStoreRequest.SymmetricStoreRequestBuilder(
 	"encodedkey"
 	SymmetricAlgorithm.AES,
 	KeyPurpose.ENCRYPTION,
 	"keyname"
 ).build();
 SymmetricStoreResponse storeResp = client.symmetricStore(storeRequest);

Key rotate

keyRotate(cloud.pangeacyber.pangea.vault.requests.KeyRotateRequest)

Manually rotate a symmetric or asymmetric key.

required parameters

cloud.pangeacyber.pangea.vault.requests.KeyRotateRequest
  • request parameters to send to /key/rotate endpoint

Response Object

KeyRotateResponse
 KeyRotateResponse rotateResponse = client.keyRotate(
 	new KeyRotateRequest.KeyRotateRequestBuilder("keyid", ItemVersionState.SUSPENDED).build()
 );

Encrypt

encrypt(cloud.pangeacyber.pangea.vault.requests.EncryptRequest)

Encrypt a message using a key.

required parameters

cloud.pangeacyber.pangea.vault.requests.EncryptRequest
  • request to be send to /key/encrypt

Response Object

EncryptResponse
 EncryptResponse encryptResponse = client.encrypt(
 	new EncryptRequest.EncryptRequestBuilder("keyid", "base64message").setVersion(2).build()
 );

Decrypt

decrypt(cloud.pangeacyber.pangea.vault.requests.DecryptRequest)

Decrypt a message using a key.

required parameters

cloud.pangeacyber.pangea.vault.requests.DecryptRequest
  • request to be send to /key/decrypt

Response Object

DecryptResponse
 DecryptResponse decryptResponse = client.decrypt(
 	new DecryptRequest.DecryptRequestBuilder("keyid", "validciphertext")
 		.setVersion(2)
 		.build()
 );

Sign

sign(java.lang.String, java.lang.String)

Sign a message using a key.

required parameters

java.lang.String
  • key id to sign message
java.lang.String
  • message to sign

Response Object

SignResponse
 SignResponse signResponse = client.sign("keyid", "base64data2sign");

Sign

sign(java.lang.String, java.lang.String,int)

sign a message

required parameters

java.lang.String
  • key id to sign message
java.lang.String
  • message to sign
int
  • key version to sign message

Response Object

SignResponse
 SignResponse signResponse = client.sign("keyid", "base64data2sign", 2);

JWT Sign

jwtSign(java.lang.String, java.lang.String)

Sign a JSON Web Token (JWT) using a key.

required parameters

java.lang.String
  • key id to sign payload
java.lang.String
  • message to sign

Response Object

JWTSignResponse
 String payload = """
      {'message': 'message to sign', 'data': 'Some extra data'}
       """;
 JWTSignResponse signResponse1 = client.jwtSign("keyid", payload);

Verify

verify(java.lang.String, java.lang.String,java.lang.String)

Verify a signature using a key.

required parameters

java.lang.String
  • key id to verify message/signature
java.lang.String
  • message to verify
java.lang.String
  • signature to verify

Response Object

VerifyResponse
 VerifyResponse verifyResponse = client.verify("keyid", "data2verify", "signature");

Verify

verify(java.lang.String, java.lang.String,java.lang.String,java.lang.Integer)

Verify a signature using a key.

required parameters

java.lang.String
  • key id to verify message/signature
java.lang.String
  • message to verify
java.lang.String
  • signature to verify
java.lang.Integer
  • key version to use on verification

Response Object

VerifyResponse
 VerifyResponse verifyResponse = client.verify("keyid", "data2verify", "signature", 1);

JWT Verify

jwtVerify(java.lang.String)

Verify the signature of a JSON Web Token (JWT).

required parameters

java.lang.String
  • signature to verify

Response Object

JWTVerifyResponse
 JWTVerifyResponse verifyResponse = client.jwtVerify(signResponse.getResult().getJws());

JWT Retrieve

jwkGet(java.lang.String)

Retrieve a key in JWK format.

required parameters

java.lang.String
  • item id to get

Response Object

GetResponse
 JWKGetResponse getResponse = client.jwkGet("jwkid");

JWT Retrieve

jwkGet(java.lang.String, java.lang.String)

Retrieve a key in JWK format.

required parameters

java.lang.String
  • item id to get
java.lang.String
  • item version/versions to get

Response Object

GetResponse
 JWKGetResponse getResponse = client.jwkGet("jwkid", 2);

Create

folderCreate(cloud.pangeacyber.pangea.vault.requests.FolderCreateRequest)

Creates a folder.

required parameters

cloud.pangeacyber.pangea.vault.requests.FolderCreateRequest
  • request parameters to send to /folder/create endpoint

Response Object

FolderCreateResponse
 FolderCreateResponse createParentResp = client.folderCreate(
 	new FolderCreateRequest.Builder("folder_name", "parent/folder/name").build()
 );

Encrypt structured

<K, V,T>encryptStructured(cloud.pangeacyber.pangea.vault.requests.EncryptStructuredRequest<K,V,T>)

Encrypt parts of a JSON object.

required parameters

cloud.pangeacyber.pangea.vault.requests.EncryptStructuredRequest<K

Request parameters.

Response Object

Encrypted result.
 var request = new EncryptStructuredRequest.Builder<SomeModel>(
     key,
     data,
     "$.field1[2:4]"
 ).build();
 var encrypted = client.encryptStructured(request);

Decrypt structured

<K, V,T>decryptStructured(cloud.pangeacyber.pangea.vault.requests.EncryptStructuredRequest<K,V,T>)

Decrypt parts of a JSON object.

required parameters

cloud.pangeacyber.pangea.vault.requests.EncryptStructuredRequest<K

Request parameters.

Response Object

Decrypted result.
 var request = new EncryptStructuredRequest.Builder<SomeModel>(
     key,
     data,
     "$.field1[2:4]"
 ).build();
 var encrypted = client.decryptStructured(request);