WebLogicSSL解決蘋果IOS itms下載問題
前提:
安裝好openssl工具。
通過windows cmd 命令進入 openssl工作文件夾
如解壓文件夾為:E:\ openssl-1.0.2-beta1
則工作文件夾為E:\openssl-1.0.2-beta1\inc32\out32dll
通過cmd >cd /d E:\openssl-1.0.2-beta1\inc32\out32dll
建立證書存放文件夾:E:\ssl
以下是使用opensll實現CA並簽發證書的過程:
1) 生成CA密鑰CA作為一個權威機構,他本身也是使用證書來標識自己。CA本身也擁有私鑰。
在簽發數字證書的過程中,CA的私鑰主要用於加密用戶證書請求中的用戶信息及公鑰。
Opensslgenrsa -out E:\ssl\cakey.pem 1024
該命令會產生長度為1024字節的私鑰文件cakey.pem。
2) 生成CA證書請求
Opensslreq -new -out E:\ssl\careq.csr -key E:\ssl\cakey.pem -configE:\openssl-1.0.2-beta1\apps\openssl.cnf
註意:openssl.cnf文件請在openssl-1.0.2-beta1文件夾下搜索。填寫詳細的文件夾
輸入項說明:
AU:國家代碼CN代表中國
Some-State:地區BJ 自己定義北京(此處輸入要於下方1)
Eg,city:城市BJ 自己定義北京(同上要於下方1)生成初始密鑰庫一致)
Internet Widgits Pty Ltd:機構名稱 cebbbak 自己定義光大 (同上要於下方1)生成初始密鑰庫一致)
機構名稱cebbank自己定義光大 (同上要於下方1)生成初始密鑰庫一致)
網址或者 IP (同上要於下方1)生成初始密鑰庫一致)
下面項能夠為空:
此命令會依據cakey.pem產生該證書的請求文件careq.csr。
3)用CA私鑰自簽名
Opensslx509 -req -in E:\ssl\careq.csr -out E:\ssl\cacert.pem -signkey E:\ssl\cakey.pem -days 3650
說明:-days 指定證書有效期 10年自己定義
該命令會依據輸入的證書請求及CA私鑰,生成CA證書。至此,作為CA所要求的證書已經準備好。所得到的cakey.pem可用於將來頒發證書。而cacert.pem證書作為用戶的可信任證書,須要分發給每個由該CA機構頒發證書的實體。
server證書與client證書的制作server證書與client證書的制作稍有不同,這是因為server對證書格式與client證書格式要求不同導致的。
對於Tomcat或Weblogic這種server,通常都要求一種JKS格式的文件,在該文件裏,保存有server私鑰、server證書以及server根證書鏈(從RootCA一直到server證書頒發機構的一系列CA證書列表)。
server證書要制作這一類證書,須要使用JDK提供的一個工具keytool。
說明:此處須要切換到JDK工作環境:
如本地為:D:\ProgramFiles\Java\jdk1.6.0_24\bin
運行CDM >cd /d D:\ProgramFiles\Java\jdk1.6.0_24\bin
以下是使用keytool制作證書庫的過程:
1)生成初始密鑰庫
keytool-genkey -alias serveralias -keyalg RSA -keysize 1024 -dname "cn=10.192.109.227,ou=cebbank, o=cebbank,l=BJ, st=BJ, c=CN" -keypass password -keystore E:\ssl\server.jks-storepass password -validity 7300
當中 –dname 中的參數說明:cn:server域名或者IP,ou:所屬機構。o:所屬單位。l:地區,st:地區,c:國家代碼 ,keypass:password ,storepass:password
2) 生成證書請求
keytool-certreq -alias serveralias -sigalg MD5withRSA -file E:/ssl/server.csr-keystore E:/ssl/server.jks -keypass password -storepass password
最後生成的證書請求文件為server.csr。
把該請求發送給證書頒發機構,該機構將會驗證證書請求中的實體信息。然後實現簽證。
由於我們是自己做CA。所以簽證這一步也是我們自己來做。
3) 實現簽證簽證仍然使用openssl,而不是keytool。
在openssl中。輸入下面命令:
切換為:openssl文件夾
運行下面命令:
opensslx509 -req -in E:/ssl/server.csr -out E:/ssl/servercert.pem -CAE:/ssl/cacert.pem -CAkey E:/ssl/cakey.pem -CAcreateserial -days 3650
輸出的servercert.pem文件即是簽證後的證書,即證書請求響應。
命令中用到的cakey.pem
和cacert.pem是上面生成的CA密鑰文件和CA根證書。
完畢CA簽證後,把證書請求響應連同CA根證書一起返回給申請者。申請者須要把CA根證書( 鏈)及證書請求響應導入到
JKS庫中。此時使用的工具是keytool。
切換為:JDK文件夾
運行下面命令:
Keytool-import -trustcacerts -keystore E:/ssl/server.jks -file E:/ssl/cacert.pem-alias RootCAkeytool
再運行下列命令:
keytool-import -trustcacerts -keystore E:/ssl/server.jks -file E:/ssl/servercert.pem-alias serveralias
註意serveralias名稱在配置weblogic實用到,詳細配置weblogic ssl請參考百度
須要註意的是。首先導入CA根證書(鏈),最後才導入證書請求響應,並且導入證書請求響應時的別名必須與生成JKS庫時使用的別名一致。至此,server端的JKS文件已經完畢,能夠配置到對應的server中。
註意:在weblogic server上jdk須要支持rsa算法的像有些JDK不支持,最好使用weblogic自帶的。
WebLogicSSL解決蘋果IOS itms下載問題