| Modifier and Type | Method and Description |
|---|---|
static int |
CoverCrypt.createDecryptionCache(byte[] userDecryptionKeyBytes)
Create a decryption cache that can be used with
CoverCrypt.decryptHeaderUsingCache(int, byte[], Optional). |
static int |
CoverCrypt.createEncryptionCache(Policy policy,
byte[] publicKeyBytes)
Create an encryption cache that can be used with
CoverCrypt.encryptHeaderUsingCache(int, String). |
static DecryptedData |
CoverCrypt.decrypt(byte[] userDecryptionKeyBytes,
byte[] ciphertext,
Optional<byte[]> authenticationData)
Decrypt a hybrid encryption.
|
static byte[] |
CoverCrypt.decryptBlock(byte[] symmetricKey,
Optional<byte[]> authenticationData,
byte[] encryptedBytes)
Symmetrically decrypt a block of encrypted data.
|
static DecryptedHeader |
CoverCrypt.decryptHeader(byte[] userDecryptionKeyBytes,
byte[] encryptedHeaderBytes,
Optional<byte[]> authenticationData)
Decrypt a hybrid header using a cache, recovering the symmetric key.
|
static DecryptedHeader |
CoverCrypt.decryptHeaderUsingCache(int cacheHandle,
byte[] encryptedHeaderBytes,
Optional<byte[]> authenticationData)
Decrypt a hybrid header using a cache, recovering the symmetric key.
|
static void |
CoverCrypt.destroyDecryptionCache(int cacheHandle)
Destroy the cache created with
CoverCrypt.createDecryptionCache(byte[]). |
static void |
CoverCrypt.destroyEncryptionCache(int cacheHandle)
Destroy the cache created with
CoverCrypt.createEncryptionCache(Policy, byte[]). |
static byte[] |
CoverCrypt.encrypt(Policy policy,
byte[] publicKeyBytes,
String encryptionPolicy,
byte[] plaintext,
Optional<byte[]> authenticationData,
Optional<byte[]> headerMetadata)
Generate an hybrid encryption of a plaintext.
|
static byte[] |
CoverCrypt.encryptBlock(byte[] symmetricKey,
Optional<byte[]> authenticationData,
byte[] clearText)
Symmetrically encrypt a block of clear text data.
|
static EncryptedHeader |
CoverCrypt.encryptHeader(Policy policy,
byte[] publicKeyBytes,
String encryptionPolicy)
Generate an hybrid encryption header.
|
static EncryptedHeader |
CoverCrypt.encryptHeader(Policy policy,
byte[] publicKeyBytes,
String encryptionPolicy,
byte[] headerMetadata)
Generate an hybrid encryption header.
|
static EncryptedHeader |
CoverCrypt.encryptHeader(Policy policy,
byte[] publicKeyBytes,
String encryptionPolicy,
byte[] headerMetadata,
byte[] authenticationData)
Generate an hybrid encryption header.
|
static EncryptedHeader |
CoverCrypt.encryptHeaderUsingCache(int cacheHandle,
String encryptionPolicy)
Generate an encrypted header using a pre-cached Public Key and `Policy`.
|
static EncryptedHeader |
CoverCrypt.encryptHeaderUsingCache(int cacheHandle,
String encryptionPolicy,
byte[] headerMetadata)
Generate an encrypted header using a pre-cached Public Key and `Policy`.
|
static EncryptedHeader |
CoverCrypt.encryptHeaderUsingCache(int cacheHandle,
String encryptionPolicy,
byte[] headerMetadata,
byte[] authenticationData)
Generate an encrypted header using a pre-cached Public Key and `Policy`.
|
static MasterKeys |
CoverCrypt.generateMasterKeys(Policy policy)
Generate the master private and public keys using the ABE policy
|
static byte[] |
CoverCrypt.generateUserPrivateKey(byte[] masterPrivateKey,
String userPolicy,
Policy policy)
Generate the user private key.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Policy.addAxis(PolicyAxis axis)
Add the given Axis to this policy in place.
|
static Policy |
Policy.fromAttributes(Attributes attributes)
Extract the policy from the Key Attributes
|
static String |
Ffi.get_last_error()
Return the last error in a String that does not exceed 1023 bytes
|
static String |
Ffi.get_last_error(int max_len)
Return the last error in a String that does not exceed `max_len` bytes
|
void |
Policy.rotateAttributes(String[] attributes) |
void |
Ffi.set_error(String error_msg)
Set the last error on the native lib
|
VendorAttribute |
AccessPolicy.toVendorAttribute() |
VendorAttribute |
Policy.toVendorAttribute()
Convert the policy to a KMIP Vendor attribute that can be set on a KMIP Object
|
static VendorAttribute |
Attribute.toVendorAttribute(String[] attributes) |
static int |
Ffi.unwrap(int result)
If the result of the last FFI call is in Error, recover the last error from the native code and throw an
exception wrapping it.
|
| Constructor and Description |
|---|
AccessPolicy(String booleanExpression) |
Attribute(String attribute) |
Policy()
Instantiate an empty policy allowing up to 2^32 attribute modifications.
|
Policy(PolicyAxis[] axes)
Constructs a Policy object with a specified limit on the number of attribute creations and a set of policy axes,
retrieves its policy buffer, and initializes its byte array.
|
| Modifier and Type | Method and Description |
|---|---|
static int |
FindexCallbackException.record(CloudproofException e) |
| Modifier and Type | Method and Description |
|---|---|
KeywordSet |
Findex.add(Map<IndexedValue,Set<Keyword>> associations)
Add the given associations to the index.
|
void |
Findex.compact(byte[] newKey,
String newLabel)
Compact the index.
|
void |
Findex.compact(byte[] newKey,
String newLabel,
DataFilter dataFilter)
Compact the index.
|
void |
Findex.compact(byte[] newKey,
String newLabel,
double compactingRate)
Compact the index.
|
void |
Findex.compact(byte[] newKey,
String newLabel,
double compactingRate,
DataFilter dataFilter)
Compact the index.
|
void |
ChainTableDatabase.delete(List<Uid32> uids)
Delete the lines indexed by the given UIDs
Uid32 from the Chain Table. |
void |
EntryTableDatabase.delete(List<Uid32> uids)
Delete the lines with the given UIDs.
|
KeywordSet |
Findex.deletion(Map<IndexedValue,Set<Keyword>> associations)
Remove the given associations from the index.
|
List<Tuple<Uid32,ChainTableValue>> |
ChainTableDatabase.fetch(List<Uid32> uids)
Fetch the Chain Table lines for the list of given
Uid32. |
List<Tuple<Uid32,EntryTableValue>> |
EntryTableDatabase.fetch(List<Uid32> uids)
Fetch the Entry Table lines for the list of given
Uid32. |
Set<Uid32> |
EntryTableDatabase.fetchAllUids()
Fetch all the Entry Table Uids.
|
default List<Location> |
DataFilter.filter(List<Location> locations)
Filter the given locations.
|
static String |
RestToken.generateNewToken(String indexId,
byte[] fetchEntrySeed,
byte[] fetchChainSeed,
byte[] upsertEntrySeed,
byte[] insertChainSeed)
Generate a new authentication token using the given callback seeds.
|
static String |
FindexBase.get_last_error()
Return the last error in a String that does not exceed 1023 bytes
|
static String |
FindexBase.get_last_error(int maxLen)
Return the last error in a String that does not exceed `max_len` bytes
|
void |
ChainTableDatabase.insert(Map<Uid32,ChainTableValue> uidsAndValues)
Insert the given lines in the Chain Table.
|
void |
EntryTableDatabase.insert(Map<Uid32,EntryTableValue> uidsAndValues)
Insert the given lines in the Chain Table.
|
default boolean |
Interrupt.interrupt(Map<Keyword,Set<IndexedValue>> intermediateResults)
Function called at each recursion level of the search operation.
|
static void |
FindexCallbackException.rethrowOnErrorCode(int errorCode,
long start,
long end) |
SearchResults |
Findex.search(Set<Keyword> keywords)
Search the index for the given keywords, without interruption.
|
SearchResults |
Findex.search(Set<Keyword> keywords,
Interrupt interrupt)
Search the index for the given keywords.
|
SearchResults |
Findex.search(String[] keywords)
Search the index for the given keywords, without interruption.
|
SearchResults |
Findex.search(String[] keywords,
Interrupt interrupt)
Search the index for the given keywords.
|
protected static void |
FindexBase.unwrap(long start,
int errorCode)
If the result of the last FFI call is in Error, recover the last error from the native code and throw an
exception wrapping it.
|
Map<Uid32,EntryTableValue> |
EntryTableDatabase.upsert(Map<Uid32,EntryTableValues> uidsAndValues)
Upsert the given lines into the Entry Table.
|
| Constructor and Description |
|---|
FindexCallbackException(CloudproofException e) |
| Constructor and Description |
|---|
Findex(byte[] key,
String label,
EntryTableDatabase entryTable,
ChainTableDatabase chainTable)
Instantiate Findex using a custom backend.
|
Findex(byte[] key,
String label,
int entryTableNumber,
EntryTableDatabase entryTable,
ChainTableDatabase chainTable)
Instantiate Findex using a custom backend.
|
Findex(String label,
String token,
String url)
Instantiate Findex using a REST backend.
|
Findex(String label,
String token,
String entryUrl,
String chainUrl)
Instantiate Findex using a REST backend.
|
| Modifier and Type | Method and Description |
|---|---|
static <L extends Leb128Serializable,R extends Leb128Serializable> |
FFiUtils.listOfTuplesToOutputPointer(List<Tuple<L,R>> list,
com.sun.jna.Pointer output,
com.sun.jna.ptr.IntByReference outputSize)
Serialize a list of tuple to a memory location specified by the Pointer; set its actual size in the pointed int.
|
static <K extends Leb128Serializable,V extends Leb128Serializable> |
FFiUtils.mapToOutputPointer(Map<K,V> map,
com.sun.jna.Pointer output,
com.sun.jna.ptr.IntByReference outputSize)
Serialize a map to a memory location specified by the Pointer; set its actual size in the pointed int.
|
void |
IntermediateResults.readObject(InputStream is) |
void |
SearchResults.readObject(InputStream is) |
void |
KeywordSet.readObject(InputStream is) |
static <V extends Leb128Serializable> |
FFiUtils.setToOutputPointer(Set<V> set,
com.sun.jna.Pointer output,
com.sun.jna.ptr.IntByReference outputSize) |
void |
IntermediateResults.writeObject(OutputStream os) |
void |
SearchResults.writeObject(OutputStream os) |
void |
KeywordSet.writeObject(OutputStream os) |
| Modifier and Type | Method and Description |
|---|---|
static <T extends Leb128Serializable> |
Leb128Reader.deserializeCollection(Class<? extends Leb128Serializable> clazzOfT,
byte[] bytes) |
static <K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Reader.deserializeMap(Class<? extends Leb128Serializable> clazzOfK,
Class<? extends Leb128Serializable> clazzOfV,
byte[] bytes) |
static <LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Reader.deserializeTuple(Class<? extends Leb128Serializable> clazzOfLeft,
Class<? extends Leb128Serializable> clazzOfRight,
byte[] bytes) |
<T extends Leb128Serializable> |
Leb128Reader.readCollection(Class<? extends Leb128Serializable> clazzOfT) |
<K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Reader.readMap(Class<? extends Leb128Serializable> clazzOfK,
Class<? extends Leb128Serializable> clazzOfV) |
<T extends Leb128Serializable> |
Leb128Reader.readObject(Class<? extends Leb128Serializable> clazzOfT) |
void |
Leb128Serializable.readObject(InputStream is) |
void |
Leb128ByteArray.readObject(InputStream in) |
<T extends Leb128Serializable> |
Leb128Reader.readObject(T newInstance) |
<LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Reader.readTuple(Class<? extends Leb128Serializable> clazzOfK,
Class<? extends Leb128Serializable> clazzOfV) |
static <T extends Leb128Serializable> |
Leb128Writer.serializeCollection(Collection<T> elements) |
static <K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.serializeEntryCollection(Collection<Map.Entry<K,V>> entryCollection) |
static <LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Writer.serializeListOfTuples(List<Tuple<LEFT,RIGHT>> list) |
static <K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.serializeMap(Map<K,V> map) |
static <K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.serializeMapOfSet(Map<K,Set<V>> map) |
static <LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Writer.serializeTuple(Tuple<LEFT,RIGHT> tuple) |
<T extends Leb128Serializable> |
Leb128Writer.writeCollection(Collection<T> elements) |
<K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.writeEntryCollection(Collection<Map.Entry<K,V>> entryCollection) |
<LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Writer.writeListOfTuples(List<Tuple<LEFT,RIGHT>> list) |
<K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.writeMap(Map<K,V> map) |
<K extends Leb128Serializable,V extends Leb128Serializable> |
Leb128Writer.writeMapOfSet(Map<K,Set<V>> map) |
void |
Leb128Serializable.writeObject(OutputStream os) |
void |
Leb128ByteArray.writeObject(OutputStream out) |
<T extends Leb128Serializable> |
Leb128Writer.writeObject(T obj) |
<T extends Leb128Serializable> |
Leb128Writer.writeSet(Set<T> elements) |
<LEFT extends Leb128Serializable,RIGHT extends Leb128Serializable> |
Leb128Writer.writeTuple(Tuple<LEFT,RIGHT> tuple) |
| Modifier and Type | Method and Description |
|---|---|
Keyword |
IndexedValue.getKeyword() |
Location |
IndexedValue.getLocation() |
void |
EntryTableValues.readObject(InputStream is) |
void |
EntryTableValues.writeObject(OutputStream os) |
| Modifier and Type | Method and Description |
|---|---|
static byte[] |
Cosmian.hex_decode(String hex_encoded_string)
Decode an hex encoded String to bytes
|
| Modifier and Type | Method and Description |
|---|---|
DecryptedData |
KmsClient.coverCryptDecrypt(String userDecryptionKeyUniqueIdentifier,
byte[] encryptedData)
Decrypt the data in the KMS using the given User Decryption Key The
encryptedData should be made of 3 parts: -
the length of the encrypted header as a u32 in big endian format (4 bytes) -
the header - the AES GCM encrypted
content
|
DecryptedData |
KmsClient.coverCryptDecrypt(String userDecryptionKeyUniqueIdentifier,
byte[] encryptedData,
byte[] authenticationData)
Decrypt the data in the KMS using the given User Decryption Key The
encryptedData should be made of 3 parts: -
the length of the encrypted header as a u32 in big endian format (4 bytes) -
the header - the AES GCM encrypted
content
|
byte[] |
KmsClient.coverCryptEncrypt(String publicMasterKeyUniqueIdentifier,
byte[] plaintext,
String encryptionPolicy)
Encrypt data in the KMS using the given encryption policy and Public Master
Key.
|
byte[] |
KmsClient.coverCryptEncrypt(String publicMasterKeyUniqueIdentifier,
byte[] plaintext,
String encryptionPolicy,
byte[] authenticationData)
Encrypt data in the KMS using the given encryption policy and Public Master
Key.
|
byte[] |
KmsClient.coverCryptEncrypt(String publicMasterKeyUniqueIdentifier,
byte[] plaintext,
String encryptionPolicy,
byte[] authenticationData,
byte[] headerMetaData)
Encrypt data in the KMS using the given encryption policy and Public Master
Key.
|
String[] |
KmsClient.createCoverCryptMasterKeyPair(Policy policy)
Generate inside the KMS, a master private and public key pair for the
Policy |
String |
KmsClient.createCoverCryptUserDecryptionKey(AccessPolicy accessPolicy,
String privateMasterKeyUniqueIdentifier)
Create a User Decryption Key for the given
AccessPolicy in the KMS |
String |
KmsClient.createCoverCryptUserDecryptionKey(String accessPolicy,
String privateMasterKeyUniqueIdentifier)
Create a User Decryption Key for the given
AccessPolicy expressed as
a boolean expression |
String |
KmsClient.destroyKey(String uniqueIdentifier)
Destroy a key in the KMS which makes it unavailable to use in the KMS to
perform
KmsClient.coverCryptEncrypt(String, byte[], String) or
KmsClient.coverCryptDecrypt(String, byte[], Optional)
operations. |
String |
KmsClient.importCoverCryptPrivateMasterKey(String uniqueIdentifier,
PrivateKey privateMasterKey,
boolean replaceExisting)
Import a Private Master Key in the KMS
|
String |
KmsClient.importCoverCryptPublicMasterKey(String uniqueIdentifier,
PublicKey publicMasterKey,
boolean replaceExisting)
Import a Public Master Key in the KMS
|
String |
KmsClient.importCoverCryptUserDecryptionKey(String uniqueIdentifier,
PrivateKey userDecryptionKey,
boolean replaceExisting)
Import a User Decryption Key in the KMS
|
PrivateKey |
KmsClient.retrieveCoverCryptPrivateMasterKey(String privateMasterKeyUniqueIdentifier)
Retrieve the Master Private Key from the KMS
|
PublicKey |
KmsClient.retrieveCoverCryptPublicMasterKey(String publicMasterKeyUniqueIdentifier)
Retrieve the Master Public Key from the KMS
|
PrivateKey |
KmsClient.retrieveCoverCryptUserDecryptionKey(String userDecryptionKeyUniqueIdentifier)
Retrieve a User Decryption Key from the KMS
|
String |
KmsClient.revokeKey(String keyUniqueIdentifier)
Revoke a key in the KMS which makes it unavailable to use in the KMS to
perform
KmsClient.coverCryptEncrypt(String, byte[], String) or
KmsClient.coverCryptDecrypt(String, byte[], Optional)
operations. |
String |
KmsClient.rotateCoverCryptAttributes(String privateMasterKeyUniqueIdentifier,
String[] policyAttributes)
Rotate the given policy attributes.
|
| Modifier and Type | Method and Description |
|---|---|
static DecryptedData |
DecryptedData.fromBytes(byte[] bytes) |
byte[] |
DataToEncrypt.toBytes() |
| Modifier and Type | Method and Description |
|---|---|
static byte[] |
KmipUtils.bytesFromKeyBlock(KeyBlock keyBlock)
Extract the key bytes from a
KeyBlock for those made of byte arrays |
CreateResponse |
Kmip.create(Create request)
This operation requests the server to generate a new symmetric key or generate Secret Data as a Managed
Cryptographic Object.
|
CreateKeyPairResponse |
Kmip.createKeyPair(CreateKeyPair request)
This operation requests the server to generate a new public/private key pair and register the two corresponding
new Managed Cryptographic Objects.
|
DecryptResponse |
Kmip.decrypt(Decrypt request)
This operation requests the server to perform a decryption operation on the provided data using a Managed
Cryptographic Object as the key for the decryption operation.
|
DestroyResponse |
Kmip.destroy(Destroy request)
This operation is used to indicate to the server that the key material for the specified Managed Object SHALL be
destroyed or rendered inaccessible.
|
EncryptResponse |
Kmip.encrypt(Encrypt request)
This operation requests the server to perform an encryption operation on the provided data using a Managed
Cryptographic Object as the key for the encryption operation.
|
GetResponse |
Kmip.get(Get request)
This operation requests that the server returns the Managed Object specified by its Unique Identifier.
|
ImportResponse |
Kmip.importObject(Import request)
This operation requests the server to Import a Managed Object specified by its Unique Identifier.
|
LocateResponse |
Kmip.locate(Locate request)
This operation requests that the server search for one or more Managed Objects, depending on the attributes
specified in the request.
|
static byte[] |
KmipUtils.nonceFromKeyWrappingData(KeyWrappingData keyWrappingData)
Extract the nonce/iv/counter bytes from a
KeyWrappingData for those made of byte arrays |
ReKeyKeyPairResponse |
Kmip.reKeyKeyPair(ReKeyKeyPair request)
This request is used to generate a replacement key pair for an existing public/private key pair.
|
RevokeResponse |
Kmip.revoke(Revoke request)
This operation requests the server to revoke a Managed Cryptographic Object or an Opaque Object.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
PublicKey.bytes()
The low level cryptographic content of the Public Key
|
byte[] |
PrivateKey.bytes()
The low level cryptographic content of the Private Key
|
static PublicKey |
PublicKey.fromJson(String json)
Deserialize an instance from its Json representation obtained using oJson()
|
static SecretData |
SecretData.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static PGPKey |
PGPKey.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static Certificate |
Certificate.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static SymmetricKey |
SymmetricKey.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static CertificateRequest |
CertificateRequest.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static PrivateKey |
PrivateKey.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static OpaqueObject |
OpaqueObject.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
static SplitKey |
SplitKey.fromJson(String json)
Deserialize an instance from its Json representation obtained using toJson()
|
protected static <T extends KmipObject> |
KmipObject.fromJson(String json,
Class<T> clazz) |
String |
KmipObject.toJson()
This method is mostly used for local tests and serialization.
|
| Modifier and Type | Method and Description |
|---|---|
static MetaData |
MetaData.fromBytes(byte[] bytes)
Parse meta data from bytes
|
byte[] |
MetaData.toBytes()
Converts the meta data to a byte array which can parsed back using the
MetaData.fromBytes(byte[]) method The
first 4 bytes is the u32 size of the uid in big endian format. |
Copyright © 2023. All rights reserved.