2016-07-04 9 views
0

씬 클라이언트 JDBC 드라이버 (유형 4)를 사용하여 oracle 11g 데이터베이스 (11.2.0.1)와 Java 클라이언트간에 SSL 지원 연결을 생성합니다. orapki 유틸리티를 사용하여 클라이언트/서버/루트 인증서를 생성하고 인증서를 oracle wallet에 저장합니다.orapki/wallet manager를 사용하여 oracle/11g의 해시 알고리즘으로 sha-256으로 인증서 생성

orapki 유틸리티 (oracle 11g db)를 사용하여 인증서를 만들 때 암호화에 대한 기본 해시 알고리즘 인 것처럼 보입니다. md5입니다. 우리가 jdk1.7 u101로 업그레이드 할 때까지 이것은 잘 동작했습니다. 이 jdk 버전은 더 이상 MD5를 지원하지 않습니다. 그래서 SHA-256을 해시 알고리즘으로 사용해야 할 것 같습니다. 오라클 지갑 매니저 11.2.0.1+가 SHA-256을 지원한다는 언급은 계속 나오고 있지만 인증서를 생성하는 동안 SHA-256을 해시 알고리즘으로 지정하는 방법에 대한 문서는 찾을 수 없습니다.

SHA-256을 해시 알고리즘으로 orapki/wallet manager를 통해 인증서를 생성 할 수있는 방법이 있습니까?

답변

3

-sign_alg sha256과 함께 orapki를 사용하여 md5 대신 sha256으로 인증서에 서명 할 수 있습니다. 예를 들어

: 신뢰할 수있는 기관

orapki wallet create -wallet ./root -pwd welcome123 -nologo 
orapki wallet remove -trusted_cert_all -wallet ./root -pwd welcome123 -nologo 
orapki wallet add -wallet ./root -dn CN=Certification\ Authority\ For\ Testing,\ O=MyCompany,\ C=US -keysize 2048 -self_signed -validity 7300 -pwd welcome123 -sign_alg sha256 -nologo 
orapki wallet export -wallet ./root -dn CN=Certification\ Authority\ For\ Testing,\ O=MyCompany,\ C=US -cert ./root/rootcertificate.crt -pwd welcome123 -nologo 
keytool -printcert -file root/rootcertificate.crt 
orapki wallet display -wallet ./root -pwd welcome123 -nologo 

그리고 출력으로 사용 자체 서명 된 인증서를 생성은 다음과 같습니다

Owner: CN=Certification Authority For Testing, O=MyCompany, C=US 
Issuer: CN=Certification Authority For Testing, O= MyCompany, C=US 
Serial number: 0 
Valid from: Wed Mar 09 03:35:42 PST 2016 until: Tue Mar 04 03:35:42 PST 2036 
Certificate fingerprints: 
    MD5: D1:EB:E4:27:FB:B1:C9:4A:CB:9D:28:A6:5A:C7:E7:20 
    SHA1: 39:DD:C2:4A:EA:97:BD:47:52:8C:E6:B9:2C:97:F9:F4:A8:A4:5E:85 
    SHA256: 04:28:19:01:AC:83:C3:69:D0:C9:1C:6A:94:08:B7:31:0C:65:21:7F:8E:FB:19:50:22:02:C4:9C:69:B1:1E:F6 
    Signature algorithm name: SHA256withRSA 
    Version: 1 
+0

감사합니다. 또한 -sign_alg sha256 옵션이 oracle 11.2.0.3 이상에서 작동하는 것처럼 보입니다. – Joyjit

+0

orakpi는 기본적으로 MD5를 사용하여 인증서를 생성하므로 보안 위반으로 인해 Java JRE 7 이상 환경에서 호환되지 않으므로 -sign_alg는 필수입니다. https://helpx.adobe.com/aem-forms/kb/java-update-compatability-md5.html을 참조하십시오. –