如题,openssl如何生成自签名的SHA-256证书

解决方案 »

  1.   

    同问呀, 今天在自己开发服务器上 搭建 HTTPS, 用 openssl 生成了一个自签名证书。
    但是 在 chrome 显示的还是个红色斜杠, 说是使用的 SHA-1 算法, 麦克风用不了是不是也是因为这个证书的问题呢?
      

  2.   

    OpenSSL req -new -x509 -days 18900 -sha256 -newkey rsa:2048 -keyout /test/ca/private/ca.key -out /test/ca/ca.crt 
    这个生成公钥文件,其他的应该,和原来的查不多,你先试试,如果不行再问我
      

  3.   

    然后需要你自己定义生成文件的制定路径,比如我是直接生成到e:\cert下了,如果你没有cert文件夹,需要生成一个。使用的工具呢是OpenSSL,后续我也会把我用到的工具等都上传上去,供大家下载。废话不多说,直接进入:
    一、制作CA证书:1 生成ca.key
    openssl genrsa -out e:\cert\ca.key 2048
    2生成ca.ceropenssl req -new -x509 -days 36500 -key e:\cert\ca.key -sha256 -out e:\cert\ca.crt -subj /CN="MyCa" -config openssl.cfg二、制作自签名sha-256的SSL证书
    1.生成SSL证书的密钥openssl genrsa -out e:\cert\service.key 20482.生成csr证书,此处指定IP,我这生成的是192.168.10.6:openssl req -new -key e:\cert\service.key -subj /CN=127.0.0.1 -sha256 -out e:\cert\service.csr  -config openssl.cfg
    3.检查 csr 的正确性,通过下面的指令可以看到生成的证书的信息,查看是否是sha256RSA等:openssl req -in e:\cert\service.csr -text
    4.利用 ca 生成 crt(此处需要在生成证书的位置有一个ca.crl的文件,我自己创建了一个里边放了一个01):openssl x509 -req -days 36500 -in e:\cert\service.csr -CA e:\cert\ca.crt -CAkey e:\cert\ca.key -sha256 -out e:\cert\service.crt   -config openssl.cfg
    5.再次检查 crt 的正确性:openssl x509 -in e:\cert\service.crt –text
    6 使用crt生成tomcat下的.p12,此处会要求设置一个密码,为了方便,设置为mc12345ok:openssl pkcs12 -export -in e:\cert\service.crt -inkey e:\cert\service.key -out e:\cert\server.p127 生成tomcat下的keystore,此处也要设置密码,为mc12345ok,然后姓氏填写你的IP,其他忽略,回车直到询问确定,输入y,一路回车,OKE:\dev_data\dev_tools\jdk1.7.0_80\bin\keytool -genkey -v -alias tomcat -keyalg RSA -keystore e:\cert\tomcat.keystore -validity 365008 将生成的.p12导入到tomcat的keystore中E:\dev_data\dev_tools\jdk1.7.0_80\bin\keytool -importkeystore -v -srckeystore e:\cert\server.p12 -srcstoretype pkcs12 -srcstorepass mc12345ok -destkeystore e:\cert\server.keystore -deststoretype jks -deststorepass mc12345ok