zoukankan      html  css  js  c++  java
  • java 自制Tomcat Andorid IOS 端 证书


    java 自制证书

      最近做项目用到Https 需要自制各种证书,Tomcat 用的JKS 格式, Andorid 端使用 BKS 格式, IOS 端使用 P12格式正式, 以及各种证书格式之间的转换。 正好研究了一下,记录下来,以便以后查阅。

    1>  系统:win7

    2> JDK 版本: JDK 1.6

    3> 制作步骤:

    3.1> keytool 主要参数说明

    -genkey表示要创建一个新的密钥
    -dname表示密钥的Distinguished Names,
    CN=commonName
    OU=organizationUnit
    O=organizationName
    L=localityName
    S=stateName
    C=country
    Distinguished Names表明了密钥的发行者身份
    -keyalg使用加密的算法,这里是RSA
    -alias密钥的别名
    -keypass私有密钥的密码,这里设置为changeit
    -keystore 密钥保存在D:盘目录下的mykeystore文件中
    -storepass 存取密码,这里设置为changeit,这个密码提供系统从mykeystore文件中将信息取出
    -validity该密钥的有效期为 180天 (默认为90天)

    3.2> 制作Tomcat 端 JKS  格式正式 

    keytool -genkey -alias tomcat -keyalg RSA -keystore d:	omcat.jks -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass password -storepass password -validity 365
    注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)

    3.3> JKS --> CER

    keytool -exportcert -alias tomcat -file D:server.cer -keystore D:	omcat.jks

    3.4> Andorid 端 BKS 格式证书

    制作Andorid 端 BKS 格式证书,需要下载支持BKS 格式证书的 Java security jar

     3.4.1> 下载 bcprov-jdk16-141.jar

     3.4.2> 将下载好的 jar 拷贝到 jdkjrelibext 下面

     3.4.3> 配置 bcprov 支持

     在 JDK_HOMEjresecurity 目录下编辑 java.security文件, 添加对bcprov 的支持(数字可以自己定义)

    security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider

     3.5> CER --> BKS

    keytool -importcert -keystore D:andorid.bks -file E:server.cer -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

    3.6> IOS 端  JKS --> P12

    keytool -importkeystore -srckeystore D:	omcat.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore D:ios.p12

    3.7> P12 --> JKS

    keytool -importkeystore -srckeystore D:ios.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore D:ios_tomcat.jks

    3.8> key&cet --> pfx

    openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

    3.9> pfx --> jks

    keytool -importkeystore -srckeystore mycert.pfx -destkeystore mycert.jks -srcstoretype PKCS12 -deststoretype JKS

    openssl 证书格式转换

    PEM--DER/CER(BASE64--DER编码的转换)

    openssl x509 -outform der -in certificate.pem -out certificate.der
    

     PEM--P7B(PEM--PKCS#7)

    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
    

     PEM--PFX(PEM--PKCS#12)

    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
    

     CER/DER--PEM(编码DER--BASE64)

    openssl x509 -inform der -in certificate.cer -out certificate.pem
    

     P7B--PEM(PKCS#7--PEM)

    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    

     P7B--PFX(PKCS#7--PKCS#12)

    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
    

    PFX/p12--PEM(PKCS#12--PEM)

    openssl pkcs12 -in certificate.pfx -out certificate.cer
    

     PEM BASE64--X.509文本格式

    openssl x509 -in Key.pem -text -out Cert.pem
    

     PFX文件中提取私钥(.key)

    openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key
    

     PEM--SPC

    openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc
    

     PEM--PVK(openssl 1.x开始支持)

    openssl rsa -in mycert.pem -outform PVK -pvk-strong -out mypvk.pvk
    
  • 相关阅读:
    jQuery基础【1】
    qTip2 精致的jQuery提示信息插件
    jquery tools 系列(三)——scrollable(2)
    JQuery常用函数及功能小结
    【转】JQ命令汇总 jQuery
    jquery tools系列(一)——tabs(选项卡/页签)
    jquery tools系列(四)——overlay
    肚子
    今天买了部数码相机NiKon S510
    《文渊阁四库全书》书目
  • 原文地址:https://www.cnblogs.com/yueli/p/7478779.html
Copyright © 2011-2022 走看看