openssl查看证书公钥 openssl 验证证书和密钥

例如:中间件或者openssl生成国密证书请求文件文件里面省份必须写陕西省三个汉字

安装完成后,使用下列命令查看该版本的openssl是否支持SM2参数:
openssl ecparam -list_curves | grep SM2
查看openssl版本信息
openssl  version -a
查看openssl配置文件openssl.cnf
find / -name openssl.cnf


# 生成私钥
openssl ecparam -genkey -name  SM2 -out private_key.pem
cd /etc/pki/tls/
# export OPENSSL_CONF=/etc/pki/tls/openssl.cnf

# 生成证书请求
openssl req -new -key private_key.pem -out cert_req.csr

openssl req -new   -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:ShengZhen    
Locality Name (eg, city) [Default City]:shenzhen
Organization Name (eg, company) [Default Company Ltd]:keyao
Organizational Unit Name (eg, section) []:mage
Common Name (eg, your name or your server's hostname) []:*.tapd.demo.com
Email Address []:httpd@keyao.com

 
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:陕西省   shanxi
Locality Name (eg, city) [Default City]:榆林市 yulinshi
Organization Name (eg, company) [Default Company Ltd]:公司name  
Organizational Unit Name (eg, section) []:技术创新中心  jishu  
Common Name (eg, your name or your server's hostname) []:BOGON
Email Address []:jerr@126.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: 
An optional company name []: 
 

 
# 编辑证书请求,手动添加汉字省份信息
openssl req -in cert_req.csr -text > cert_req_text.txt
 
# 修改cert_req_text.txt,将Locality(城市)部分替换为“陕西省”三个汉字
# 保存文件后继续执行以下命令,从文本文件生成新的CSR
openssl req -inform PEM -subject /CN=CommonName/ -outform PEM -out new_cert_req.csr < cert_req_text.txt

注:在cert_req_text.txt里

#Subject: C = CN, ST = shanxi, L = yulinshi, O = beijing, OU = jishuc, CN = dataserver3

#openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr -subj "/C=CN/ST=Shanxi/L=Xi'an/O=YourOrganization/OU=YourDepartment/CN=YourDomain"

ex:openssl req -inform PEM -subj "/C=CN/ST=陕西省/L=yulinshi/O=beijing/OU=jishuc/CN=dataserver3" -outform PEM -out new_cert_req.csr < cert_req_text.txt

注:openssl生成国密证书请求文件文件里面省份必须写陕西省三个汉字

在使用 OpenSSL 生成国密(SM2/SM3/SM4)证书请求(CSR)时,不直接支持在省份字段中填入具体的汉字,因为 OpenSSL 默认使用的是 ASCII 编码。要在省份字段中填入汉字,需要使用 OpenSSL 支持的语言标签(Lable),即 -latin1 或 -utf8

然而,对于省份等字段,汉字通常使用国际化字符集(IANA)中的语言标签,如 zh 表示中文,然后使用 UTF-8 编码。但是,OpenSSL 默认可能不支持这种语言标签的 UTF-8 编码,所以你可能需要使用一个支持多语言和 Unicode 的第三方工具来生成 CSR。

以下是一个使用 OpenSSL 生成 CSR 的基本示例,不包含汉字:

openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr -subj "/C=CN/ST=Shanxi/L=Xi'an/O=YourOrganization/OU=YourDepartment/CN=YourDomain"

如果你需要在省份字段中填入汉字“陕西”,你可以尝试使用 -latin1 选项并手动将汉字转换为对应的 Latin1 编码(如果有的话),或者使用一个支持多语言的工具来生成 CSR。

请注意,由于证书标准和编码问题,直接在证书属性中使用汉字可能会遇到兼容性问题,因此在国际化的系统中,通常会使用汉字的 Pinyin 或者语言代码来填写省份字段。

X.509证书(*.cer; *.crt)
个人信息交换(*.pfx; *.p12)
证书信任列表(*.stl)
证书吊销列表(*.crl)
Microsoft系列证书存储(*.sst)
PKCS #7证书(*.spc; *.p7b)

公钥加密数据,私钥解密 称为加密和解密。
私钥加密数据,公钥解密 称为签名和验证签名。

互联网数据安全可靠的条件:
1.数据来源可信,即数据发送者身份可信。
2.数据具备完整性,即数据未被修改过。
3.数据安全性,即数据不会被泄漏,他人截获后无法解密。

1、openssl install

yum -y install openssl
当安装碰到各种依赖循环问题无法解决时可以使用下面的命令哦!!
yum -y install openssl*

1、openssl help

[root@centos6a ~]# openssl --help
openssl:Error: '--help' is an invalid command.

Standard commands
asn1parse         ca                ciphers           cms               
crl               crl2pkcs7         dgst              dh                
dhparam           dsa               dsaparam          ec                
ecparam           enc               engine            errstr            
gendh             gendsa            genpkey           genrsa            
nseq              ocsp              passwd            pkcs12            
pkcs7             pkcs8             pkey              pkeyparam         
pkeyutl           prime             rand              req               
rsa               rsautl            s_client          s_server          
s_time            sess_id           smime             speed             
spkac             ts                verify            version           
x509              

Message Digest commands (see the `dgst' command for more details)
md2               md4               md5               rmd160            
sha               sha1              

Cipher commands (see the `enc' command for more details)
aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb       
aes-256-cbc       aes-256-ecb       base64            bf                
bf-cbc            bf-cfb            bf-ecb            bf-ofb            
camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb  
camellia-256-cbc  camellia-256-ecb  cast              cast-cbc          
cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb         
des               des-cbc           des-cfb           des-ecb           
des-ede           des-ede-cbc       des-ede-cfb       des-ede-ofb       
des-ede3          des-ede3-cbc      des-ede3-cfb      des-ede3-ofb      
des-ofb           des3              desx              idea              
idea-cbc          idea-cfb          idea-ecb          idea-ofb          
rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc           
rc2-cfb           rc2-ecb           rc2-ofb           rc4               
rc4-40            seed              seed-cbc          seed-cfb          
seed-ecb          seed-ofb          zlib 

openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。


1、查看openssl完整版本信息
[root@localhost ~]# openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Mon May  9 09:54:24 CDT 2016
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic
1、openssl目录结构
[root@hadoop101 ~]# tree -d /etc/pki/
/etc/pki/
├── CA
│   ├── certs
│   ├── crl
│   ├── newcerts
│   └── private
├── ca-trust
│   ├── extracted
│   │   ├── java
│   │   ├── openssl
│   │   └── pem
│   └── source
│       ├── anchors
│       └── blacklist
├── java
├── nssdb
├── nss-legacy
├── rpm-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值