基于openssl国密算法SM2搭建CA及颁发证书

这篇具有很好参考价值的文章主要介绍了基于openssl国密算法SM2搭建CA及颁发证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境说明:

1.操作系统:CentOS 7.9

2.openssl : OpenSSL 1.1.1q  5 Jul 2022

二、搭建私有CA

1. 创建CA目录,在目录下创建相关目录如下:

mkdir CA/{certs,crl,newcerts,private}
tree CA/
CA/
├── certs
├── crl
├── newcerts
└── private

4 directories, 0 files

在CA下生成证书索引库文件:

touch index.txt

指定颁发第一个证书的序列号:

echo 01 > serial
ll
total 4
drwxrwxr-x. 2 john john   6 8月  17 09:59 certs
drwxrwxr-x. 2 john john   6 8月  17 09:59 crl
-rw-rw-r--. 1 john john   0 8月  17 10:59 index.txt  #索引库文件
drwxrwxr-x. 2 john john   6 8月  17 09:59 newcerts
drwxrwxr-x. 2 john john   6 8月  17 11:54 private
-rw-rw-r--. 1 john john   3 8月  17 11:00 serial     ##下一个颁发证书的序列号存放点

2. 生成SM2私钥

openssl ecparam -genkey -name SM2 -param_enc explicit -outform pem -out private/cakey.pem

生成证书:

openssl req -new -key private/cakey.pem -out private/cacert.csr
openssl x509 -req -days 3650 -in private/cacert.csr -signkey private/cakey.pem -out cacert.pem 

3.ca自签名证书生成完毕。将该证书后缀改为crt,导入到windows的受信任根证书路径下。

三、颁发证书

1、生成SM2私钥

openssl ecparam -genkey -name SM2 -param_enc explicit -outform pem -out private/it.key

2、生成证书

openssl req -new -key private/it.key -out private/it.csr
openssl ca -in private/it.csr  -out certs/it.crt -days 1000

四、注意事项

1、修改openssl.cnf 文件。提交ca颁发证书时会提示openssl.cnf的位置:

[john@localhost CA]$ openssl ca -in private/it.csr  -out certs/it.crt -days 1000
Using configuration from /usr/local/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 3 (0x3)
        Validity
            Not Before: Aug 17 09:05:01 2022 GMT
            Not After : May 13 09:05:01 2025 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = shandong
            organizationName          = test
            organizationalUnitName    = it
            commonName                = it.test.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                74:3E:9D:4F:EC:63:82:F8:1D:39:D1:EF:1D:6B:EA:A9:D3:4B:2C:42
            X509v3 Authority Key Identifier: 
                DirName:/C=CN/ST=shandong/L=qingdao/O=test/OU=ca/CN=ca.test.com
                serial:46:BC:04:33:11:15:41:C7:8C:BF:4C:FC:EA:C1:5A:B1:70:46:52:3E

Certificate is to be certified until May 13 09:05:01 2025 GMT (1000 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

修改openssl.cnf中ca的dir为刚才创建的CA文件夹路径:

[ ca ]
default_ca	= CA_default		# The default ca section

####################################################################
[ CA_default ]

dir		= /home/john/pki/CA		# Where everything is kept
certs		= $dir/certs		# Where the issued certs are kept
crl_dir		= $dir/crl		# Where the issued crl are kept
database	= $dir/index.txt	# database index file.
#unique_subject	= no			# Set to 'no' to allow creation of
					# several certs with same subject.
new_certs_dir	= $dir/newcerts		# default place for new certs.

certificate	= $dir/cacert.pem 	# The CA certificate
serial		= $dir/serial 		# The current serial number
crlnumber	= $dir/crlnumber	# the current crl number
					# must be commented out to leave a V1 CRL
crl		= $dir/crl.pem 		# The current CRL
private_key	= $dir/private/cakey.pem# The private key

x509_extensions	= usr_cert		# The extensions to add to the cert

查看证书有效性:

[john@localhost CA]$ openssl ca -status 01
Using configuration from /usr/local/ssl/openssl.cnf
01=Valid (V)

CA证书:

openssl生成国密证书,openssl,linux,运维,安全

 这个CA颁发的证书:

openssl生成国密证书,openssl,linux,运维,安全

openssl生成国密证书,openssl,linux,运维,安全文章来源地址https://www.toymoban.com/news/detail-518668.html

到了这里,关于基于openssl国密算法SM2搭建CA及颁发证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 国密 SM2 SSL 证书 Nginx 安装指南 linux版

    一、获取国密证书 1、在您完成申请西部GDCA服务器证书的流程后,下载证书将获取一个证书包,有以下 *.***.com_sign.crt:签名证书 *.***.com_sign.key:签名证书私钥 *.***.com_encrypt.crt:加密证书 *.***.com_encryptKeyData.txt:内容为已加密的加密证书私钥片段 2、加密证书解密 在线解密:

    2024年02月05日
    浏览(35)
  • 在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书

    本文基于Linux上CentOS 7版本配合openssl与mod_ssl(需要使用yum下载)进行配置演示 目录 一.生成认证主要流程 1.虚拟出一个CA认证机构,为其生成公私钥以及自签证书 2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书 3.生成客户端方私钥,发送包含服务

    2024年02月16日
    浏览(36)
  • 国密算法SM2/3/4简单比较,以及基于Java的SM4(ECB模式,CBC模式)对称加解密实现

    常用的国密算法包含SM2,SM3,SM4。以下针对每个算法使用场景进行说明以比较其差异 SM2:非对称加密算法,可以替代RSA 数字签名,SM2为非对称加密,加解密使用一对私钥和公钥,只有签名发行者拥有私钥,可用于加密,其他需要验证解密或验签者使用公钥进行。如果使用公

    2024年04月13日
    浏览(30)
  • 国密SM2/SM3算法

    分类 1、SM1是一种分组加密算法 对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES 相当,但是算法不公开,仅以IP核的形式存在于芯片中,需要通过加密芯片的接口进行调用。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙

    2024年02月05日
    浏览(49)
  • 国密算法-SM2

            国密算法是国家密码局制定标准的一系列算法,包括SM1、SM2、SM3、SM4等。其中,SM1是采用硬件实现的,不予讨论;SM2是非对称加密算法;SM3是摘要算法;SM4是对称加密算法。本篇贴出SM2 Java版本实现生成公私钥及加解密、签名验签代码,供大家一起讨论学习,所有

    2024年02月11日
    浏览(38)
  • sm2证书生成(openssl生成公私钥对)—使用

    用上一篇的命令生成公私钥对。 1、sm2PubKey.pem 2、sm2PriKeyPkcs8.pem 3、openssl ec -in sm2PriKeyPkcs8.pem -text 5、工具类 BCECUtil.java SM2Util.java 6、写一个main方法 执行结果: 密钥和命令解析出来的一样。 依赖包:bcprov-jdk15on-1.70.jar SM2加密算法的结果长度,取决于明文长度,没记错的话是

    2024年02月02日
    浏览(27)
  • SM2国密算法加解密

    接口安全设计原则的一个点就是数据不能明文传输,除了https这个必须的请求外,接口数据加密也是一个重要的方式,下面介绍一下SM2国密算法加解密的使用方式。 这里我就针对目前前后端分离架构的方式来简单介绍一下如何正确使用 SM2 算法对数据进行加解密,介绍分为后

    2024年02月11日
    浏览(30)
  • Delphi SM2/SM4国密算法

        最近忙个医保平台的项目,涉及SM2/SM4的签名,验签,加密,解密的业务操作过程。毕竟现在用Delpih的人不是很多,懂这方面的技术的人也更少,能涉及密码算法的少之更少,网上也能搜到一些开源的代码,也由于使用的人少,未加通过业务系统来验证,所以存在不少Bu

    2024年02月11日
    浏览(38)
  • 国密算法SM2、SM3的使用

    1. SM2是非对称加密算法         它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。 2.SM3是一种密码杂凑

    2024年02月06日
    浏览(34)
  • 开源CA搭建-基于openssl实现数字证书的生成与分发

    目录 一、前言 二、openssl介绍 三、openssl的常用用法 (一)单向加密 (二)生成随机数 (三)生成公钥,私钥 1.生成私钥 2.提取公钥 四、搭建CA (一)创建根CA私钥: (二)生成自签名证书 (三)创建数据库以及新颁发证书数字 (四)设置证书的起始编号 (五)创建文件

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包