Search in sources :

Example 31 with NAEKey

use of com.ingrian.security.nae.NAEKey in project CipherTrust_Application_Protection by thalescpl-io.

the class FileEncryptionSampleUsingARIA method main.

public static void main(String[] args) {
    if (args.length != 8) {
        System.err.println("Usage: java FileEncryptionSampleUsingARIA user password keyname fileToEncrypt " + "encryptedFile decryptedFile iv blockSize");
        System.exit(-1);
    }
    String username = args[0];
    String password = args[1];
    String keyName = args[2];
    String srcName = args[3];
    String dstName = args[4];
    String decrName = args[5];
    String iv = args[6];
    int blockSize = Integer.parseInt(args[7]);
    byte[] ivBytes = iv.getBytes();
    System.out.println("iv: " + IngrianProvider.byteArray2Hex(ivBytes));
    String Algo = "ARIA/CBC/PKCS5Padding";
    Security.addProvider(new IngrianProvider());
    NAESession session = null;
    try {
        session = NAESession.getSession(username, password.toCharArray());
        NAEKey key = NAEKey.getSecretKey(keyName, session);
        // IvParameterSpec ivSpec = new
        // IvParameterSpec(IngrianProvider.hex2ByteArray(iv));
        NAECipher cipher = NAECipher.getNAECipherInstance(Algo, "IngrianProvider");
        cipher.init(Cipher.ENCRYPT_MODE, key);
        NAEARIACipher aria = cipher.get_aria();
        aria.update(srcName, dstName, blockSize, cipher);
        cipher.init(Cipher.DECRYPT_MODE, key);
        aria = cipher.get_aria();
        aria.update(dstName, decrName, blockSize, cipher);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null) {
            session.closeSession();
        }
    }
}
Also used : NAEKey(com.ingrian.security.nae.NAEKey) NAECipher(com.ingrian.security.nae.NAECipher) NAESession(com.ingrian.security.nae.NAESession) NAEARIACipher(com.ingrian.security.nae.NAEARIACipher) IngrianProvider(com.ingrian.security.nae.IngrianProvider)

Example 32 with NAEKey

use of com.ingrian.security.nae.NAEKey in project CipherTrust_Application_Protection by thalescpl-io.

the class MultiplePropertyFileSample method main.

public static void main(String[] args) {
    if (args.length != 6) {
        System.err.println("Usage: java MultiplePropertyFileSample local_config_user local_config_password " + "local_propertyfile_path global_config_user global_config_password keyname");
        System.exit(-1);
    }
    NAESession localsession = null;
    NAESession globalsession = null;
    NAESecretKey localsessionKey = null;
    NAEKey globalsessionKey = null;
    String data = "Test Data";
    try {
        localsession = NAESession.getSession(args[0], args[1].toCharArray(), new SessionLevelConfig(args[2]));
        globalsession = NAESession.getSession(args[3], args[4].toCharArray());
        NAEParameterSpec spec = new NAEParameterSpec(args[5], true, true, false, 192, null, localsession);
        localsessionKey = generateKey(spec);
        boolean isExported = exportKeyToGlobalSession(globalsession, localsessionKey);
        if (isExported) {
            byte[] encrytedText = encryptWithLocalConfig(data, localsessionKey);
            globalsessionKey = NAEKey.getSecretKey(localsessionKey.getName(), globalsession);
            byte[] decryptText = decryptWithGLobalConfig(encrytedText, globalsessionKey);
            if (data.equals(new String(decryptText))) {
                System.out.println("Key  is exported successfully to global Key Manager.");
            } else {
                System.out.println("Key is not exported successfully to global Key Manager.");
            }
        } else {
            System.out.println("Key is not exported successfully to global Key Manager.");
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (localsessionKey != null)
            localsessionKey.delete();
        if (globalsessionKey != null)
            globalsessionKey.delete();
    }
}
Also used : NAEParameterSpec(com.ingrian.security.nae.NAEParameterSpec) NAEKey(com.ingrian.security.nae.NAEKey) NAESecretKey(com.ingrian.security.nae.NAESecretKey) SessionLevelConfig(com.ingrian.security.nae.SessionLevelConfig) NAESession(com.ingrian.security.nae.NAESession) IllegalBlockSizeException(javax.crypto.IllegalBlockSizeException) InvalidAlgorithmParameterException(java.security.InvalidAlgorithmParameterException) BadPaddingException(javax.crypto.BadPaddingException) NoSuchPaddingException(javax.crypto.NoSuchPaddingException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) InvalidKeyException(java.security.InvalidKeyException) NoSuchProviderException(java.security.NoSuchProviderException)

Aggregations

NAEKey (com.ingrian.security.nae.NAEKey)32 IngrianProvider (com.ingrian.security.nae.IngrianProvider)25 NAESession (com.ingrian.security.nae.NAESession)20 Cipher (javax.crypto.Cipher)12 KMIPAttributes (com.ingrian.security.nae.KMIPAttributes)10 KMIPSession (com.ingrian.security.nae.KMIPSession)10 NAEClientCertificate (com.ingrian.security.nae.NAEClientCertificate)10 NAEParameterSpec (com.ingrian.security.nae.NAEParameterSpec)10 Provider (java.security.Provider)10 KeyGenerator (javax.crypto.KeyGenerator)9 NAEException (com.ingrian.security.nae.NAEException)8 IvParameterSpec (javax.crypto.spec.IvParameterSpec)8 NAEPrivateKey (com.ingrian.security.nae.NAEPrivateKey)7 NAEPublicKey (com.ingrian.security.nae.NAEPublicKey)7 NAESecretKey (com.ingrian.security.nae.NAESecretKey)7 SecretKey (javax.crypto.SecretKey)7 KMIPSecretData (com.ingrian.security.nae.KMIPSecretData)5 NAECipher (com.ingrian.security.nae.NAECipher)5 NAESecureRandom (com.ingrian.security.nae.NAESecureRandom)5 GCMParameterSpec (com.ingrian.security.nae.GCMParameterSpec)3