JCE Provider를 개발 및 배포하려면 Oracle으로부터 발급받은 JCE Code Signing Certificate를 통해 클래스들을 서명해야 합니다.
그렇지 않으면 디버깅조차 되지 않습니다.
Exception in thread "main" java.lang.SecurityException: JCE cannot authenticate the provider CustomProvider
at javax.crypto.Cipher.getInstance(Cipher.java:656)
at MyTestMain.main(MyTestMain.java:16)
Caused by: java.lang.SecurityException: Cannot verify jar:file:/....
위와 같은 오류를 보게 됩니다..
JCE Code Signing Certificate를 발급받는 과정은 아래와 같습니다.
참고 : https://www.oracle.com/technetwork/java/javase/tech/getcodesigningcertificate-361306.html
Get A JCE Code-Signing Certificate
Obtain a JCE Code Signing Certificate JCE Code Signing Certification Authority IMPORTANT NOTE: Oracle does not issue general code-signing certificates for applet or Web Start deployment. The process described here is only for obtaining certificates for use
www.oracle.com
https://docs.oracle.com/javase/10/security/howtoimplaprovider.htm
How to Implement a Provider in the Java Cryptography Architecture
An algorithm parameter specification is a transparent representation of the sets of parameters used with an algorithm. A transparent representation of parameters means that you can access each value individually, through one of the get methods defined in t
docs.oracle.com
(아래 내용은 Oracle사의 사정에 따라 변할 수 있으니 위 링크를 보시고, 아래 내용은 방법만 참고해 주시기 바랍니다~)
1. jce-cert-request_ww_grp@oracle.com 이 주소로 제목을 정확히 Request a Certificate for Signing a JCE Provider 이라고 써서 메일을 보내야 합니다.
메일에 작성해야 하는 내용은 아래와 같습니다.
Include the following contact information in the body of your message:
- Company Name
- Street Address (Not a post office box)
- City
- State/Province
- Country
- Company Telephone Number
- Company Fax Number
- Requester Name
- Requester Telephone Number
- Requester Email Address
- Brief description of your company (size, line of business, etc.)
- Purpose of Requested JCE Code Signing Certificate (for example: "Signing JCE providers containing Ciphers/Mac/KeyAgreement implementations")
그리고 PEM형식으로 인코딩된 CSR을 메일에 첨부파일로 첨부합니다.
CSR(인증서요청파일)을 만드는 방법은 두번째 링크에 있습니다. 아래와 같은 명령으로 생성 가능합니다.
keytool -genkeypair -alias <alias> \
-keyalg RSA -keysize 2048 \
-dname "cn=<Company Name>, \
ou=Java Software Code Signing, \
o=Oracle Corporation" \
-keystore <keystore file name> \
-storepass <keystore password>
설명에는 10일 정도 걸리는걸 생각하라고 써있는데.. 메일을 보냈더니 저는 5 Business day 가 걸렸습니다.
그런데 여기서 끝이 아닙니다...ㅋ
몇일 후에 Confirmation of JCE Code Signing Certificate Request 라는 메일이 오는데 거의 물어봤던 내용을 다시 물어봅니다.
이 메일에 CSR request number 라는것이 발급되고 pdf파일 링크하나를 줍니다.
그럼 해당 파일을 인쇄하셔서 CSR request number와 몇가지 정보를 작성하고 (https://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/402171.txt) (https://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/402171.txt) 자필 서명해서 스캔해서 다시 이메일(exporteccn_ww@oracle.com) 혹은 FAX으로 보내면 됩니다.
그런데 저는 여기서 엄청 오래걸렸습니다.. 10 Business day 가 넘어도 답장이 없길래...
Confirmation of JCE Code Signing Certificate Request 를 보내준 사람에게 질문했는데 해당 메일을 자기한테 CC(참조)걸어서 다시 보내보라고 해서 그렇게 했더니 3일 후에 발급된 인증서를 받아 볼 수 있었습니다.
암튼... 거의 3주 좀 안되는 시간만에 발급받았네요...ㅠㅠ
JCE 인증서 요청하시는 분은 미리.. 두번째 메일은 exporteccn_ww@oracle.com와 함께 첫번째 답장한 사람을 CC로 걸어서 보내보세요..
그리고 여유로움과 인내를...ㅋㅋ
'개발 및 운영' 카테고리의 다른 글
Error: Cannot find module 'electron' 문제발생시 (0) | 2019.11.01 |
---|---|
자체 메일서버에서 보내는 메일이 스팸으로 갈 때.. (0) | 2019.08.29 |
Jenkins gitlab연동 gradle프로젝트 자동빌드&도커빌드 (0) | 2019.08.05 |
EJBCA SSL인증서 갱신(재발급) (0) | 2019.07.10 |
haproxy transparent 설정 (0) | 2019.07.09 |
댓글