2016-09-08 1 views
1

을 지정하는 JCE의 모든 메커니즘은 키 생성 유형 전을 지정하는 JCE 어떤 메커니즘이 존재입니다키 생성 수명 (세션 키 또는 영구적 키) 내가 <code>HSM</code></p> <p>에 대한 <code>JCE provider</code>를 구현하고

 key = keygen.generateKey(flag); 
    flag = 0/1 session key/permanent key 
    keygen.deleteKey(); //to delete permanent key 

어떤 도움의 woul : 영구 키

 KeyGenerator keygen = KeyGenerator.getInstance("AES"); 
    keygen.init(128); 
    key = keygen.generateKey(); 

내가 좋아하는 뭔가가 필요 d 대단히 감사합니다 ....!

답변

1

아니요, 세션 키 또는 영구 키를 지정할 방법이 없습니다.

하지만 당신은 물론 정의 할 수 있습니다 자신의 AlgorithmParameterSpecengineInitinit 방법 내에서 사용하고 구현하는 방법 KeyGeneratorSpi 뭔가 세션 키 또는 영구적 키, 그리고 이 알고리즘의 매개 변수를 포함 할 수있는 경우 AlgorithmParameterSpec을 나타낼 수 있습니다 (예 : AES의 키 크기를 지정하는 키) 및 키 크기를 검색하기위한 추가 방법이 가능합니다 (키 크기에 대해 특정 AlgorithmParameterSpec이 나타나지 않으므로).

은 세션 키의 기본값 인으로 설정해야합니다. 일반적으로 키 값은 KeyStore에 저장되거나 파일로 인코딩되지 않으면 손실됩니다.

+0

감사를 삭제되지 않도록

, 나는 ... 해시 테이블에서 특정 키 핸들을 제거하고! –

+0

GenerateKeyPair는 영구 키를 생성합니다. –

+0

GenerateKeyPair는 영구 키를 생성합니다. –

0

JCE 프레임 워크는 H/W 토큰 요구 I 주위 작업 발견

의 관점에서 유지하여 개발되지 :

모든 키를 같은 토큰 키 (영구) 및 유지 참조를 생성하는 해시 테이블의 키 핸들

내 JCE 공급자에는 응용 프로그램이 종료 될 때 호출되는 종료 기능이 있습니다.

해시 테이블의 참조를 사용하여 해당 종료 기능의 모든 키를 삭제합니다. 키가 키 저장소에 저장되어있는 경우는 셧다운 기능에 답장을 보내

+0

전적으로 동의하지 않습니다. HSM에 따라, 표준 JCE에 대한 단위 테스트 및 실제 HSM에 대한 실시간 실행에서 완벽한 호환성을 제공하는 JCE 플러그인을 제공하는 많은 HSM 제공 업체가 있습니다. JCE와 호환되도록하려면 HSM의 일부 기능이 느슨합니다. 좋은 soft-JCE에서는, TEE의 Hardware 키 스토어를 사용하는 Android JCE 구현에서, 'keys'는 예를 들어 실제 데이터 값 대신 항상 핸들입니다. – Jmons

관련 문제