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

[[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 支持国密标准的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 编译安装 Openssl 1.1.1 支持国密标准

Linux笔记-Centos7编译安装GmSSL

CentOS7编译安装OpenSSL1.1.1f

CentOS7安装Python3.7

centos7.2源码安装openssl1.0.2

centos7.2源码安装openssl1.0.2