Java API
HSM Dinamo
Loading...
Looking for...
No entries found
ExportImportTR31.java

Example of export and import in TR-31 format.

See Note on examples.
package doxy.examples;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class ExportImportTR31 {
public static void main(String[] args) throws TacException {
Dinamo api = new Dinamo();
api.openSession("127.0.0.1", "master", "12345678", false);
String kbpk = "kbpk"; //Nome da chave utilizada para derivar as chaves de encriptação e autenticação
String key = "key"; //Nome da chave que será exportada
api.createKey(key, TacNDJavaLib.ALG_AES_128, true);
api.createKey(kbpk, TacNDJavaLib.ALG_AES_256, true);
/*
* Exporta uma chave no formato TR-31.
*/
byte[] keyBlock = api.exportTR31(kbpk, key, TacNDJavaLib.EFT_ME_TR31_EXP_USAGE_AUTO,
TacNDJavaLib.EFT_ME_TR31_EXP_MODE_AUTO,
TacNDJavaLib.EFT_ME_TR31_EXP_AUTO);
System.out.println("Chave exportada com sucesso.");
/*
* Importa uma chave no formato TR-31.
*/
String impKey = "impKey"; //Nome da chave importada
api.importTR31(kbpk, impKey, TacNDJavaLib.EXPORTABLE_KEY, keyBlock);
System.out.println("Chave importada com sucesso.");
/*
* Remove as chaves de teste.
*/
api.deleteKey(key);
api.deleteKey(kbpk);
api.deleteKey(impKey);
api.closeSession();
}
}