例如:中间件或者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-


3878

被折叠的 条评论
为什么被折叠?



