openssl制作ssl证书_keytool生成证书

openssl制作ssl证书_keytool生成证书一、生成RSA证书密钥对下载OpenSSLwindows版本https://pan.baidu.com/s/1cBvJ-mwqzuyRwfq2xqHsLg1)生成RSA私钥:opensslgenrsa-outrsa_2048_private_key.pem2048该命令会生成2048位的私钥,生成成功的界面如下:此时我们就可以在当前路径下看到rsa_private_key.pem文件了…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、生成RSA证书密钥对

下载OpenSSL windows版本

https://pan.baidu.com/s/1cBvJ-mwqzuyRwfq2xqHsLg

1)生成RSA私钥:

openssl genrsa -out rsa_2048_private_key.pem 2048

该命令会生成2048位的私钥,生成成功的界面如下:

openssl制作ssl证书_keytool生成证书

此时我们就可以在当前路径下看到rsa_private_key.pem文件了。

2)把RSA私钥转换成PKCS8格式

输入命令并回车

openssl pkcs8 -topk8 -inform PEM -in rsa_2048_private_key.pem -outform PEM -nocrypt

得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:

openssl制作ssl证书_keytool生成证书

3)生成 pks8 格式的 rsa 私钥

openssl pkcs8 -topk8 -in rsa_2048_private_key.pem -out pkcs8_rsa_2048private_key.pem -nocrypt

或者:

openssl pkcs8 -topk8 -inform PEM -in rsa_2048_private_key.pem -outform PEM –nocrypt -out pkcs8_rsa_2048private_key.pem

4) 生成RSA公钥

输入命令并回车,

openssl rsa -in rsa_2048_private_key.pem -pubout -out rsa_2048_public_key.pem

得到生成成功的结果,如下图:

openssl制作ssl证书_keytool生成证书

此时,我们可以看到一个文件名为rsa_public_key.pem的文件,打开它,可以看到—–BEGIN PUBLIC KEY—–开头,

—–END PUBLIC KEY—–结尾的没有换行的字符串,这个就是公钥。

二、生成IOS端及JAVA端使用的RSA证书

1)生成RSA私钥:

openssl genrsa -out rsa_2048_private_key.pem 2048

2. 生成证书请求文件rsaCertReq.csr

openssl req -new -key rsa_2048_private_key.pem -out rsaCerReq.csr

注意:这一步会提示输入国家、省份、mail等信息,可以根据实际情况填写,或者全部不用填写,直接全部敲回车.

3. 生成证书rsaCert.crt,并设置有效时间为10年

openssl x509 -req -days 3650 -in rsaCerReq.csr -signkey rsa_2048_private_key.pem -out rsaCert.crt

4. 生成供iOS使用的公钥文件public_key.der

openssl x509 -outform der -in rsaCert.crt -out public_key.der

5. 生成供iOS使用的私钥文件private_key.p12

openssl pkcs12 -export -out private_key.p12 -inkey rsa_private_key.pem -in rsaCert.crt

注意:这一步会提示给私钥文件设置密码,直接输入想要设置密码即可,然后敲回车,然后再验证刚才设置的密码,再次输入密码,然后敲回车,完毕!

在解密时,private_key.p12文件需要和这里设置的密码配合使用,因此需要牢记此密码.

6. 生成供Java使用的公钥rsa_public_key.pem

openssl rsa -in rsa_2048_private_key.pem -out rsa_2048_public_key.pem -pubout

7. 生成供Java使用的私钥pkcs8_private_key.pem

openssl pkcs8 -topk8 -in rsa_2048_private_key.pem -out pkcs8_rsa_2048private_key.pem -nocrypt

或者:

openssl pkcs8 -topk8 -inform PEM -in rsa_2048_private_key.pem -outform PEM –nocrypt -out pkcs8_rsa_2048private_key.pem

全部执行成功后,会生成如下文件,其中public_key.der和private_key.p12就是iOS需要用到的文件

1.从pfx格式的证书提取出密钥和证书

set OPENSSL_CONF=openssl.cnf

openssl pkcs12 -in my.pfx -nodes -out server.pem

openssl rsa -in server.pem -out server.key

openssl x509 -in server.pem -out server.crt

PEM格式的证书与DER格式的证书的转换

openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

openssl x509 -in ca.cer -inform DER -out ca.pem -outform  PEM

几种典型的密码交换信息文件格式:

DER-encoded certificate: .cer, .crt

PEM-encoded message: .pem

PKCS#12 Personal Information Exchange: .pfx, .p12

PKCS#10 Certification Request: .p10

PKCS#7 cert request response: .p7r

PKCS#7 binary message: .p7b

.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。

.pem跟crt/cer的区别是它以Ascii来表示。

pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式

p10是证书请求

p7r是CA对证书请求的回复,只用于导入

p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥

算法

base64不是加密算法,但也是SSL经常使用的一种算法,它是编码方式,用来把asc码和二进制码转来转去的。

openssl x509部分命令

打印出证书的内容:

openssl x509 -in cert.pem -noout -text

打印出证书的系列号

openssl x509 -in cert.pem -noout -serial

打印出证书的拥有者名字

openssl x509 -in cert.pem -noout -subject

以RFC2253规定的格式打印出证书的拥有者名字

openssl x509 -in cert.pem -noout -subject -nameopt RFC2253

在支持UTF8的终端一行过打印出证书的拥有者名字

openssl x509 -in cert.pem -noout -subject -nameopt oneline -nameopt -escmsb

打印出证书的MD5特征参数

openssl x509 -in cert.pem -noout -fingerprint

打印出证书的SHA特征参数

openssl x509 -sha1 -in cert.pem -noout -fingerprint

把PEM格式的证书转化成DER格式

openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

把一个证书转化成CSR

openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem

给一个CSR进行处理,颁发字签名证书,增加CA扩展项

openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca -signkey key.pem -out cacert.pem

给一个CSR签名,增加用户证书扩展项

openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr -CA cacert.pem -CAkey key.pem -CAcreateserial

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • What Are You Talking About HDU1075[通俗易懂]

    What Are You Talking About HDU1075[通俗易懂]一开始我也想用map但是处理不好其他字符。。看了题解多多学习!很巧妙就是粗暴的一个字符一个字符的来分为小写字母和非小写字母两个部分一但单词结束的时候就开始判断。#include<

    2022年7月4日
    26
  • Windows ODT快速部署

    Windows ODT快速部署本来是购买了正版的VISIO批量许可,到VLSC中心以为直接下载个镜像包完活,结果发现有点复杂,特来记录。1.首先需要下载ODT工具下载路径https://docs.microsoft.com/en-us/DeployOffice/office2019/deploy2.下载后,需要配置一个XML文件,记录一下安装选项。微软有图形化的生成XML的方式:https://config.office.com/deploymentsettings3.生成后,将XML文件…

    2025年8月26日
    5
  • 计算机存储容量1tb等于多少,1tb等于多少mb(1tb等于多少gb)

    计算机存储容量1tb等于多少,1tb等于多少mb(1tb等于多少gb)1TB等于多少MB和多少GB?是电脑的硬盘!谢谢!1GB=1024MB(理论上)计算机存储信息的大小,最基本的单位是字节,一个汉字由两个字节组成,字母和数字由一个字节组成。容量的单位从小到大依次是:字节(B.1TB等于1024G。TB:太字节(Terabyte),计算机存储容量单位,也常用TB来表示。GB:吉字节(GB、Gigabyte,在中国又被称为吉咖字节或京字节或十亿字节或戟).1TB=…

    2022年5月25日
    121
  • socket编程原理「建议收藏」

    socket编程原理「建议收藏」socket编程原理1、问题的引入1)普通的I/O操作过程:UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-c

    2022年7月2日
    21
  • docker 运行tomcat_docker和tomcat区别

    docker 运行tomcat_docker和tomcat区别在学习狂神的docker内容网络学习这一步的时候,按照步骤启动tomcat镜像,但是执行ipaddr之后发现下面问题,经过分析这说明我们下载的Tomcat镜像是精简版的,利用这个镜像去打开一个容器的时候发现没有ipaddr这个命令。所以到导致我们上述报错。上图执行的命令敲错了,重新执行aptinstall-yiproute2…

    2022年7月27日
    13
  • sql语句查询中双引号怎么办_sql引号中加单引号

    sql语句查询中双引号怎么办_sql引号中加单引号

    以及SQL语句中日期格式的表示(#)、(”)
    在Delphi中进行字符变量连接相加时单引号用(”’),又引号用(””)表示
    首先定义变量
    var
    AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某
     
    些情况下不对
    AnIntStr:string=’456′;
    AStr:string=’abc’;
    AFieldName:string=’字符型编号

    2022年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号