1. 首页

lupguo/ss实施自签名证书

ss-cert

该仓库记载了 Public Key Infrastructure(PKI) ,公开密钥底子办法中的部分流程,包括自署名证书、证书请求、证书签发、证书验证等内容。

pki 目次是基于Golang程序实现了上述内容(试验性的)

OpenSSL 自署名证书创建

除非先前将自署名证书导入browser,不然不会向任何第三方验证自署名证书。假如需要更高的安全性,则应使用由证书颁发机构(CA)署名的证书。

我们基于以下步骤创建自己的CA和署名证书

  1. 创建自己的权限(即成为CA)
  2. 为服务器创建证书署名请求(CSR)
  3. 使用CA密钥对服务器的CSR进行署名
  4. 在服务器上安装服务器证书
  5. 在客户端上安装CA证书

大抵的步骤

    Using the x509 module openssl x509 ... ...

    Using the req module openssl req ...

    Using the ca module openssl ca ... ...

创建CA Certificate

// 基于config天生CA证书 $ cd ca_cert $ openssl req -x509 -config ../openssl-ca.cnf -nodes -newkey rsa:2048 -days 3650 \ -keyout cakey.pem -out cacert.pem // 检测天生的CA证书 $ openssl x509 -in cacert.pem -noout -text

创建CSR(证书请求)

先回到根目次,在csr目次中,实行下列操作:

// 方法1,基于openssl-server.cnf证书请求模板设置文件, 创建预申请的服务器证书请求 $ cd ./sign_csr/ $ openssl req -config openssl-server.cnf -newkey rsa:2048 -nodes -keyout server-key.pem -out server-csr.pem // 方法2,直接快速创建服务器证书请求(设置中以及有许多基本信息的设置了,好比信息摘要摘要算法等) $ openssl req -newkey rsa:2048 -nodes -keyout ./sign_csr/server-key.pem -out ./sign_csr/server-csr.pem \ -subj "/C=CN/ST=GD/L=ShenZhen/O=GlobaleGrow Inc./OU=Tech Development./CN=TK Server Development/emailAddress=tkstorm1988@gmail.com" \ -reqexts SAN -extensions SAN \ -config <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=IP:127.0.0.1,DNS:localhost,DNS:www.tkstorm.cc,DNS:tkstorm.cc,DNS:::1")) // 察看天生的证书请求 $ openssl req -in ./server-csr.pem -text -noout

SAN部分的信息

X509v3 Subject Alternative Name: DNS:tkstorm.cc, DNS:www.tkstorm.cc, DNS:mail.tkstorm.cc

使用CA签发CSR

初始化相关文件

回到ca设置文件地点目次:

$ touch ./db/db.txt $ echo '01' > ./db/serial.txt

证书签发

方法1,基于openssl ca下令+设置(建议)

基于设置文件 openssl-ca.cnf (此中已设定了CA证书+私钥等信息),选择签发策略,对创建的证书请求进行证书签发

// 签发服务器证书 $ openssl ca -config openssl-ca.cnf -policy signing_policy -extensions signing_req -infiles ./sign_csr/server-csr.pem // 察看证书 $ openssl x509 -in ./sign_cert/02.pem -text -noout

方法2,基于openssl x509下令签发

// 签发 (./sign_cert/01.pem为签发的证书) $ openssl x509 -req -in ./sign_csr/server-csr.pem -CA ./ca_cert/cacert.pem -CAkey ./ca_cert/cakey.pem -create_serial -out ./sign_cert/01.pem // 验证 $ openssl verify -CAfile ./ca_cert/cacert.pem -verbose ./sign_cert/01.pem ./sign_cert/01.pem: OK

证书和私钥验证

// 对比openssl md5的差别 openssl x509 -noout -modulus -in tkstorm-cert.pem|openssl md5; \ openssl rsa -noout -modulus -in tkstorm-key.pem | openssl md5 // csr证书请求也可以基于类似的方法 openssl req -noout -modulus -in server.csr | openssl md5

项目目次

所有停当后,目次如下

/data/github.com/ss-cert on  master! ⌚ 13:13:13 $ tree . ├── README.md ├── ca_cert │ ├── cacert.pem │ └── cakey.pem ├── db │ ├── db.txt │ ├── db.txt.attr │ ├── db.txt.old │ ├── serial.txt │ └── serial.txt.old ├── openssl-ca.cnf ---- ca sign config file ├── sign_cert │ └── 01.pem ---- new signed certificates └── sign_csr ├── openssl-server.cnf ---- server sign request config file ├── server-csr.pem └── server-key.pem

将CA证书天生的pkcs #12格式(捆绑私钥和公钥)

在密码学中,PKCS #12 定义了一种存档文件格式,用于实现存储很多加密对象在一个单独的文件中。通常用它来打包一个私钥及有关的X.509 证书,要么打包信托链的全部项目。 一个 PKCS #12 文件通常是被加密的,同时单独存在。其被称作"安全包裹"的内部存储容器通常同时也被加密及单独存在。

$ openssl pkcs12 -in cacert.pem -inkey cakey.pem -export -out cacert.p12

基于CA已有的私钥,天生新的CA证书(应对质书续签问题)

// 基于设置和已有的cakey,天生一个CA CSR openssl req -new -config ../openssl-ca.cnf -nodes -key cakey.pem -out cacsr.pem // 签发自署名证书 $ openssl x509 -req -in cacsr.pem -signkey cakey.pem -out cacert.pem Signature ok subject=/C=CN/ST=GD/L=ShenZhen/O=NGTK Inc./OU=NGTK ORG (tkstrom.com)/CN=TK.ROOT CA/emailAddress=tkstorm1988@gmail.com Getting Private key // 察看证书时间 $ openssl x509 -in cacert.pem -text // 重新天生pkcs#12证书格式 $ openssl pkcs12 -in cacert.pem -inkey cakey.pem -export -out cacert.p12

更多细节

参考 https://tkstorm.com/openssl-usages

acgpower自签证书

Avalanche powered by Wavelink

创建自署名证书

这些说明讲明怎样使用 OpenSSL 天生自署名证书。Ivanti 未在 Avalanche 中包含 OpenSSL。可在 OpenSSL 网站 上找到安装文件。假如要使用其他工具,请参考该工具的用户指南。

Ivanti 猛烈提议使用证书颁发机构提供的证书来葆护 Avalanche 的通讯。使用自署名证书大概导致以下问题:

假如在 Web 控制台中使用自署名证书,则 Web browser大概无法辨认证书,而且表现声称站点不受信托的告诫消息。browser大概要求创建破例以进行连接。但是会对连接进行加密。

假如在智能装备服务器中使用自署名证书,则 Android 装备会拒绝注册,由于它们无法辨认证书。对于运行 Android 4.0 或更新版本的装备,可以在每台装备上安装自署名证书。运行 Android 4.0 之前的版本的装备不会连!接到使用自署名证书的服务器。要在 Android 装备上安装证书,需要先设置证书,然后在装备上打开browser并导航至 iOS 注册页面。在页面上轻触 信托该服务器 ,然后下载证书。下载证书后,可以封闭browser。

有关从证书颁发机构获取证书的说明,请参阅 SSL 证书 中的 向证书颁发机构创建证书请求

假如正在使用智能装备服务器的证书,则需要这些说明中给出的文件名,比方 privateKey.key ca.pem

创建证书时,需要提供通用名(比方 IP 地点)、组织单位、组织、都市、州/省,以及国度/地域代码。

要天生智能装备服务器使用的自署名证书:

1. 从下令行导航至:

[OpenSSL 安装目次]\bin

2. 使用下令:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out ca.pem

3. 在提示符处输入全部请求的信息。提供计划安装证书的盘算机的完全限定域名以用作通用名。使用的域名应该由贵公司全部。假如需要,可添加 DNS 条目以剖析此盘算机。

天生自署名证书的示例:

国度/地域名称(二位字母代码)[]:US
州或省名称(全名)[]:Utah
地点地名称(比方都市)[]:Midvale
组织名称(比方公司)[]:Wavelink Corporation
组织单位名称(比方部分)[]:Engineering
通用名(比方姓名或服务器主机名)[]:avaself.wavelink.com
电子邮件地点 []: [email protected]

随即在 \bin 目次中创建证书 ca.pem

为了导入证书并在控制台和 Avalanche 长途控制中使用证书,需要将其转换为 PKCS #12 格式。有关转换证书的信息,请参阅 SSL 证书 中的 转换证书

版权 © 2018 , Ivanti . 版权全部。

隐私和法律

默认自署名证书的过期通知

当前的行为 :Oracle ILOM 提供了较早版本的默认 SSL 自署名证书。

未来的行为 :未来的 Oracle ILOM 固件发行版中将提供较新版本!的默认 SSL 自署名证书。

对客户设置的影响

更新到未来的固件发行版后,通过 Web 界面连接到 Oracle ILOM 的用户将需要担当 Oracle !ILOM 提供的较新版本的默认 SSL 自署名证书。此变动不会影响客户提供的 SSL 证书。

有关 Oracle ILOM 提供的默认 SSL 自署名证书的未来更新,请参阅《 Oracle ILOM 功能更新和发行说明(固件发行版 3.2.x) 》中的最新固件发行版信息。

本文网址: http://www.6vho.com/page/202102818328_248_4210104600/home