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自带的。