Centos7 编译安装 Openssl 1.1.1 支持国密标准
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 编译安装 Openssl 1.1.1 支持国密标准相关的知识,希望对你有一定的参考价值。
OpenSSL项目新版本增加了中国SM2/SM3/SM4算法的支持:
SM2椭圆曲线: https://github.com/openssl/openssl/pull/4793
SM3哈希摘要: https://github.com/openssl/openssl/pull/4616
SM4对称加密: https://github.com/openssl/openssl/pull/4552
参考: 中国×××制定的商业密码算法标准
《GM/T 0006-2012 密码应用标识规范》定义国密算法OID标识
《GB/T 32907-2016 SM4分组密码算法》(原GM/T 0002-2012)
《GB/T 329??-2016 SM2椭圆曲线公钥密码算法》(原GM/T 0003-2012)
《GB/T 32905-2016 SM3密码杂凑算法》(原GM/T 0004-2012)
在Centos7.6下编译安装openssl 1.1.1b
- 官网 https://www.openssl.org/source/ 下载 openssl-1.1.1b.tar.gz
- Centos7.6 安装编译环境
[[email protected] ~]# yum groupinstall "Development Tools"
- 解压缩 开始编译
[[email protected] shm]# tar xf openssl-1.1.1b.tar.gz
[[email protected] shm]# cd openssl-1.1.1b/
[[email protected] openssl-1.1.1b]# less INSTALL
on Unix (again, this includes Mac OS/X):
$ ./config
$ make
$ make test
$ make install
On Unix:
$ ./config --prefix=/opt/openssl --openssldir=/usr/local/ssl
[[email protected] openssl-1.1.1b]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
[[email protected] openssl-1.1.1b]# make -j 2
[[email protected] openssl-1.1.1b]# make install
- 导出库文件
[[email protected] lib]# echo /usr/local/openssl/lib >> /etc/ld.so.conf.d/openssl.conf
[[email protected] lib]# ldconfig
# "检测版本信息"
[[email protected] bin]# /usr/local/openssl/bin/openssl version -a
OpenSSL 1.1.1b 26 Feb 2019
built on: Thu Apr 18 02:07:26 2019 UTC
platform: linux-x86_64
options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
Seeding source: os-specific
# 导出openssl/bin 到PATH 变量
[[email protected] shm]# echo ‘PATH=/usr/local/openssl/bin:$PATH‘ >> /etc/profile.d/env.sh
[[email protected] shm]# source /etc/profile.d/env.sh
[[email protected] shm]# openssl version
OpenSSL 1.1.1b 26 Feb 2019
# 测试sm3 哈希算法
[[email protected] ~]$ openssl dgst -sm3 - /etc/fstab
SM3(/etc/fstab)= cb8e0dcf3dcb9754664db539bf28f75ea7218f3e48ca97f2d470a911e563834b
[[email protected] ~]# openssl enc -ciphers
Supported ciphers:
-seed-ecb -seed-ofb -sm4
-sm4-cbc -sm4-cfb -sm4-ctr
-sm4-ecb -sm4-ofb
# 测试sm4 加解密
[[email protected] shm]# openssl enc -sm4 -pbkdf2 -in fstab -out fstab.sm4
enter sm4-cbc encryption password:
Verifying - enter sm4-cbc encryption password:
[[email protected] shm]# file fstab.sm4
fstab.sm4: data
[[email protected] shm]# openssl enc -sm4 -pbkdf2 -d -in fstab.sm4 -out fstab2
enter sm4-cbc decryption password:
[[email protected] shm]# md5sum fstab fstab2
5bc5d1fe5dc1ed936fab3aabbde66d2a fstab
5bc5d1fe5dc1ed936fab3aabbde66d2a fstab2
以上是关于Centos7 编译安装 Openssl 1.1.1 支持国密标准的主要内容,如果未能解决你的问题,请参考以下文章