openssl生成证书和公私钥_openssl查看证书信息

openssl生成证书和公私钥_openssl查看证书信息OpenSSL生成证书

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

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

OpenSSL 生成证书

作者:Bright Xu

在当前目录创建配置文件,用于定义后面创建证书的相关配置

创建server.conf文件,并写入一下内容:

oid_section		= new_oids

[ new_oids ]
# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6

# Policies used by the TSA examples.
tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7


[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext

[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Beijing
localityName = Locality Name (eg, city)
localityName_default = Beijing
organizationName = Organization Name (eg, company)
organizationName_default = MyTest
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
commonName_default = MyOnlyTest

[ req_ext ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = 1.3.6.1.5.5.7.3.1, 1.3.6.1.5.5.7.3.2
subjectAltName = @alt_names

[alt_names]
DNS.1 = test.my
DNS.2 = *.test.my
DNS.3 = localhost

IP.1 = 192.168.2.186
IP.2 = 192.168.2.196
IP.3 = 127.0.0.1
IP.4 = ::1

生成server证书

# 生成证书密钥文件
openssl genrsa -aes256 -passout pass:123456 -out server_rsa_private.pem 2048

# 生成server证书
openssl req -new -key server_rsa_private.pem -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=MyTest/OU=MyOnlyTest Server/CN=Only Test Server" -extensions req_ext -config server.conf -passin pass:123456

# 将加密的RSA密钥转成未加密的RSA密钥
openssl rsa -in server_rsa_private.pem -out server_rsa_private.pem.unsecure -passin pass:123456

生成的文件:server_rsa_private.pemserver.csrserver_rsa_private.pem.unsecure

自签CA证书

非必要,通常不需要这样做,一般仅用于测试。通常情况下是在正规的CA证书颁发机构申请的,而不是自签的。

# 生成证书密钥文件
openssl genrsa -aes256 -passout pass:123ca456 -out ca_rsa_private.pem 2048

# 生成CA证书
openssl req -new -x509 -days 36500 -key ca_rsa_private.pem  -out ca.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=MyTest/OU=MyOnlyTest CA/CN=Only Test" -passin pass:123ca456

# 使用CA证书及密钥,对server证书进行签名
openssl x509 -req -days 36500 -in server.csr -CA ca.crt -CAkey ca_rsa_private.pem -CAcreateserial -out server.crt -extensions req_ext -extfile server.conf -passin pass:123ca456

生成的文件:ca_rsa_private.pemca.crtserver.crt

使用到HTTPS

部署到HTTPS服务器时,一般要用到证书签名文件server.crtcertificate)和私钥文件server_rsa_private.pemPrivateKey)。不过每次使用server_rsa_private.pem的时候都需要输入密码,可换为server_rsa_private.pem.unsecure跳过输入密码的步骤。

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

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

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


相关推荐

  • post-layout时序仿真_padstart

    post-layout时序仿真_padstartString.prototype.padStart把指定字符串填充到字符串头部,返回新字符串。语法str.padStart(targetLength[,padString])targetLength当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。padString可选填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的默认值为””示例’abc’.padStart(10);

    2025年10月16日
    2
  • activity生命周期有几种状态_activity生命周期七种方法

    activity生命周期有几种状态_activity生命周期七种方法activity生命周期(这篇足够了)摘要做安卓开发已经4年多了,所接触的知识点也比较零散,在这里记录一下android方面的知识点,方便自己以后复习,有什么不足的,以及错误的欢迎拍砖。activityactivity从开始到结束的四个状态。activity的生命周期。activity的进程优先级。activity的四个状态关于activity的…

    2022年8月16日
    4
  • Robotium体验—-白盒

    Robotium体验—-白盒什么是Robotium?先说一下发音。音标类似于[rəʊbɒʃɪəm],可参照有道。Robotium是一款开源测试框架,官方定义为AndroidApp的黑盒测试框架(官方示例为白盒),适用于native/hybridapp。由于开源,该框架源码可以从github上获取,地址为https://github.com/RobotiumTech/robotium。若需要文档,j…

    2022年7月17日
    10
  • java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」

    java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」Javadom4j获取,添加,删除,查找,设置Element节点方法1.获取文档的根节点.ElementrootElm=document.getRootElement();2.取得某节点的单个子节点.ElementmemberElm=root.element(“member”);//”member”是节点名3.取得节点的文字Stringtext=memberElm.getText()…

    2022年7月14日
    38
  • 查看linux的内核版本_内核版本

    查看linux的内核版本_内核版本内核版本信息在顶层Makefile文件中lemon@ubuntu:~/Develop/OrangePi_Lite2/lichee/linux-3.10$vimMakefileVERSION=3PATCHLEVEL=10SUBLEVEL=65EXTRAVERSION=NAME=TOSSUGBabyFish

    2022年10月13日
    2
  • latex 公式如何换行

    latex 公式如何换行1、如图所示,我们先写个长公式。2、可以看到,公式没有自动换行,而是跨过了一栏。3、如图所示,在公式上下两端加上split。同时使用\\指明换行的位置。4、如图所示,公式实现了自动换行。5、大家选择换行的位置也很重要。如图所示,选择该处换行6、得到的效果就非常糟糕。承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。…

    2022年5月4日
    318

发表回复

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

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