当前位置: 首页 > news >正文

网站修改域名北京中交建设工程咨询有限公司网站

网站修改域名,北京中交建设工程咨询有限公司网站,河北互联思维网站建设,免费建站哪家有什么是OpenSSL OpenSSL是一个开源的软件库和工具套件,用于安全地处理网络数据传输中的加密、解密、安全套接层(SSL)以及传输层安全(TLS)协议等功能。它广泛应用于网站和互联网服务中,以确保数据传输的安全…

什么是OpenSSL

OpenSSL是一个开源的软件库和工具套件,用于安全地处理网络数据传输中的加密、解密、安全套接层(SSL)以及传输层安全(TLS)协议等功能。它广泛应用于网站和互联网服务中,以确保数据传输的安全性和隐私性。OpenSSL可以运行在多种操作系统上,并为程序员提供了用C、C++、Python等语言编写的应用程序接口(API)。官网:https://www.openssl.org/

安装OpenSSL

参考:https://www.feistyduck.com/library/openssl-cookbook/online/openssl-command-line/building-openssl.html

使用OpenSSL生成自签证书

创建ca根证书及其私钥

ca证书及其私钥是后续创建其他证书的前提,相当于其他证书是经过ca证书认证后颁发的。

分2步:

创建ca私钥

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out ca_private_key.pem

用私钥创建ca根证书

openssl req -x509 -days 3650 -new -key ca_private_key.pem -subj "/CN=kubernetes" -out ca_root_certificate.pem

根据CA根证书及其私钥生成自签名证书

生成服务器(或客户端)私钥

openssl genpkey -algorithm RSA -out server_private_key.pem -pkeyopt rsa_keygen_bits:2048

创建服务器证书签名请求(CSR)

openssl req -new -key server_private_key.pem -subj "/CN=www.zptest.com/C=CN/L=ShenZhen/ST=GuangDong" -out server_csr.pem

注意:-subj的格式:/type0=value0/type1=value1/type2=…

例如:-subj "/CN=www.zptest.com/C=CN/L=ShenZhen/ST=GuangDong"

或者如下用配置文件代替命令行-subj "/CN=www.zptest.com"的方式:

  • step1:先创建csr配置文件:csr.conf;
  • step2:再使用-config选项创建csr

如下:

# step1
cat > csr.conf <<EOF
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn[ dn ]
C = CN
ST = GuangDong
L = ShenZhen
CN = www.zptest.com[ req_ext ]
subjectAltName = @alt_names[ alt_names ]
IP.1 = 127.0.0.1
EOF# step2
openssl req -new -key server_private_key.pem -out server_csr.pem -config csr.conf

使用ca根证书签发服务器(或客户端)证书

openssl x509 -req -days 365 -in server_csr.pem -CA ca_root_certificate.pem -CAkey ca_private_key.pem -set_serial 01 -out server_certificate.pem

-set_serial 01:选项是为证书分配的唯一表示标识号,类似于身份证。值类型可以为十进制或者十六进制(通过前缀加0x)。每个X.509证书的序列号必须唯一,以便在需要时轻松确定、追踪和管理特定证书。例如,在撤销证书时,可以使用序列号查询或标记证书已撤销

可以通过如下方式查询到证书的序列号:

openssl x509 -in server_certificate.pem -noout -text | grep -i "Serial Number"

验证服务器(或客户端)证书

openssl verify -CAfile ca_root_certificate.pem server_certificate.pem

输出server_certificate.pem: OK则表明证书验证成功。

补充:

查看证书的详细信息:

[root@k8s-master openssl_test]# openssl x509 -noout -text -in  server_certificate.pem
Certificate:Data:Version: 1 (0x0)Serial Number: 1 (0x1)Signature Algorithm: sha256WithRSAEncryptionIssuer: CN=kubernetesValidityNot Before: Oct 11 07:03:51 2023 GMTNot After : Oct 10 07:03:51 2024 GMTSubject: C=CN, ST=GuangDong, L=ShenZhen, CN=www.zptest.comSubject Public Key Info:Public Key Algorithm: rsaEncryptionPublic-Key: (2048 bit)Modulus:00:a1:36
……

总结

  1. 创建自签名证书需要先创建一个“自认权威”的ca,充当第三方CA的角色。这就涉及到创建ca私钥和创建ca根证书

  2. 通过证书签名请求中的-subj来指定证书绑定哪个(哪些)域名

  3. 使用证书时,域名要和证书中的域名对应上

  4. 使用curl访问域名时,要手动指定ca证书来进行校验,通过--cacert选项来指定

    比如:

    [root@k8s-master cfssl_test]# curl -L www.zptest.com/index.html --cacert ca.pem
    hello nginx
    

知识补充

openssl中genpkey和genrsa命令有啥区别?

genrsagenpkey命令都可以在OpenSSL中生成RSA私钥,但二者之间存在一些区别:

  1. 可生成的密钥类型:
  • genrsa命令仅用于生成RSA私钥。
  • genpkey更通用,可以生成不仅仅是RSA类型的私钥,还可以生成其他如DSA、EC(Elliptic Curve)等多种类型的私钥。
  1. 算法参数和选项:
  • genrsa只支持一部分RSA相关的选项。
  • genpkey支持各种密钥类型的全部参数和选项,并拥有更多的灵活性。

OpenSSL版本:

  • genrsa命令在早期的OpenSSL版本已经存在,所以对于使用较旧版本的OpenSSL的用户来说,genrsa可能是更常用的命令。
  • genpkey命令在OpenSSL中引入较晚,但由于其通用性和灵活性,现在被官方推荐使用,尤其在生成非RSA密钥时。

总结:尽管genrsagenpkey都可以生成RSA私钥,但genpkey命令更为通用且灵活,适用于生成各种密钥类型。因此,建议在现代应用中使用genpkey命令生成私钥

附录

OpenSSL官网

OpenSSL cookbook

http://www.yayakq.cn/news/437020/

相关文章:

  • 网站建设需要学的站酷网页版
  • 网建设门户网站韩国做网站网站违法不
  • 电子商务网站建设思维导图wordpress cdn无作用
  • 做网站需要做数据库南京雨花台区做网站
  • 找人设计的网站建wordpress
  • 厦门仿站定制模板建站中英网站模板 照明
  • 网站的pdf预览是怎么做的泰州做网站 泰公网络科技公司
  • 网站建设相关的博客有哪些购物节优惠卷网站怎么做
  • 淘宝券商城网站制作竞价托管推广公司
  • 如何给公司网站做推广网站推广指标
  • 信息网站建设网站开发工作方向
  • 陕西网站建设咨询网络营销出来可以干什么工作
  • 怎么做全屏网站会网站开发没学历
  • 怎么建设网站临汾培训机构加盟店排行榜
  • 网站目录结构图网站开发交接清单
  • 网站建设及代运营合同福州市有哪些制作网站公司
  • 网站常用颜色上栗网站建设
  • 安徽网站关键字优化我的网站突然找不到网页了
  • 网站的栏目是什么wordpress cms列表页
  • 建湖网站设计最新网站建设进程
  • 晋城网站建设费用多用户旅游网站开发
  • 图书馆网站建设的建议常见的网站模式
  • 如何建设自己的企业网站专业建站公司
  • 网站设计稿是怎么做的外贸网站建设定制开发
  • 南昌网站建设培训班软件技术专升本
  • dedecms可以做双语网站小孩子和大人做的网站
  • 郑州高端网站定制公司珠海网站建设公
  • 心理健康教育网站建设网上申请开办公司流程
  • 找别人做网站一定注意什么宁波网站推广制作
  • 口碑好网站建设在哪里网站建设对公司来说重要吗