데이터 암호화 및 저장의 일환으로 openssl에서 AES 알고리즘을 사용하여 KEY를 생성했습니다.Keystore - 커맨드 라인에서 Keystore 로의 SecretKey 항목 입력
openssl enc -aes-256-cbc -P -nosalt
OpenSSL을 일반 텍스트 파일에 저장되어있다 KEY & IV 값을 생성했다. 일반 문서에 키를 저장하는 것이 안전하지 않은 표준이므로 키 스토어로 이동하는 것이 좋습니다.
따라서 아래 명령을 실행하여 keytool을 사용하여 키 저장소를 생성했습니다.
keytool -genseckey -keyalg AES -alias aesstore -keysize 256 -keypass changeit -storetype jceks -keystore hello.jceks -storepass changeit
이 키 저장소에는 임의의 secrey 키가 들어 있습니다. 따라서 KEY & IV 값을 Keystore로 이동하여 거기에서 가져 와서 데이터 암호화에 사용할 수 있습니다. Keystore에 사용자 정의 된 KEY 값을 저장하기위한 링크는 아래에 있지만 IV 값은 저장하지 않았습니다. 하나는 키 스토어에 KEY & IV 값을 모두 저장하는 방법.에 어떤 아이디어가있는 경우
http://java.dzone.com/articles/secret-key-import-java
따라서, 공유 할하시기 바랍니다.
또한 커스터마이징 된 키를 명령 줄 자체에서 키 저장소로 전달할 수있는 방법을 찾고 있습니다.
미리 감사드립니다.
안녕하세요, 아무도 없습니까? –
답변 해 주셔서 감사합니다. IV는 키 저장소 구현에서 끊임없이 변화하는 가치라는 것을 이해했습니다. 우리는 현재 암호화 및 데이터 저장에 영구 KEY 및 IV 값을 사용하고 있습니다. KEY를 Keystore로 이동하면 IV 값이 다르기 때문에 암호화 한 데이터가 동일한 문자열에 대한 이전의 암호화 된 데이터와 일치하지 않습니다. 그래서이 문제를 해결하기 위해 Keystore에서 키를 추출하고 영구 IV를 사용하여 데이터를 암호화하는 것이 유일한 해결책이라고 생각합니다. 제발 제안 해주세요. – user3119077
프로토콜을 변경하고 마지막에 키를 저장해야합니다. 그러나 지금 당장 당신은 그것을 해킹하고 예를 들어 IV를 저장할 수 있습니다. AES-128 키. 다음에, aesKey.getEncoded()를 사용해 바이트를 돌려줍니다. AES 키는 완전 무작위 데이터로 구성되며 입력 된 바이트를 반환합니다. –