· 5 years ago · Mar 29, 2020, 03:40 AM
1import java.security.KeyStore;
2import java.io.*;
3import javax.crypto.*;
4import java.math.*;
5import java.security.*;
6import javax.xml.bind.DatatypeConverter;
7public class javaexample {
8 public static void main(String []args ) throws Exception {
9 String fileName = "CEP-DEV-santander.jceks";
10 char[] password = "S1santan".toCharArray();
11 String alias = "banxico";
12 KeyStore ks = KeyStore.getInstance("JCEKS");
13 try (FileInputStream fis = new FileInputStream(fileName)) {
14 //KeyStore ks = KeyStore.getInstance("JCEKS");
15 //FileInputStream fis = new FileInputStream(fileName);
16 ks.load(fis, password);
17 SecretKey secretKey = (SecretKey) ks.getKey(alias, password);
18 System.out.println(new BigInteger(1, secretKey.getEncoded()).toString(16));
19 //SecretKey secretKey =(SecretKey) ks.getKey(alias, password);
20 String stringKey;
21 try {
22 secretKey = KeyGenerator.getInstance("AES").generateKey();
23 }catch (NoSuchAlgorithmException e) {System.out.println(e);}
24 if (secretKey != null) {
25 //stringKey = Base64.encodeToString(secretKey.getEncoded(), Base64.DEFAULT);
26 System.out.println("Algoritmo de llave: "+secretKey.getAlgorithm());
27 System.out.println("Formato de la llave: "+secretKey.getFormat());
28 String encoded = DatatypeConverter.printBase64Binary(secretKey.getEncoded());
29 System.out.println("Llave encodeada en Base64: "+encoded);
30 System.out.println("Metodo getEncoded: "+secretKey.getEncoded());
31 }
32 // Base 64 decode En Java 8, primero construir el objetoByte deacuerdo al Base64 exportado en Java7
33 // byte[] keyBytes = Base64.decodeBase64(encodedKey.getBytes("UTF-8"));
34 // Crear un nuevo SecretKEy con el algoritmo y los Bytes construidos en Java8
35 //SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES");
36 }catch (Exception e) {
37 System.out.println("Tuve broncas");
38 System.out.println(e);
39 }
40 }
41}