码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-04-18 12:09:56      阅读:393      评论:0      收藏:0      [点我收藏+]

标签:sdi   yum   解密   cst   Opens   form   bash   sm3   检测   

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 安装编译环境
    [root@node1 ~]# yum groupinstall "Development Tools"
  • 解压缩 开始编译
[root@node1 shm]# tar xf openssl-1.1.1b.tar.gz 
[root@node1 shm]# cd openssl-1.1.1b/
[root@node1 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

[root@node1 openssl-1.1.1b]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
[root@node1 openssl-1.1.1b]# make -j 2
[root@node1 openssl-1.1.1b]# make install 
  • 导出库文件
[root@node1 lib]# echo  /usr/local/openssl/lib >> /etc/ld.so.conf.d/openssl.conf
[root@node1 lib]# ldconfig 
# "检测版本信息"
[root@node1 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 变量
[root@node1 shm]# echo ‘PATH=/usr/local/openssl/bin:$PATH‘ >> /etc/profile.d/env.sh 
[root@node1 shm]# source /etc/profile.d/env.sh 

[root@node1 shm]# openssl version
OpenSSL 1.1.1b  26 Feb 2019

# 测试sm3 哈希算法
[ls@node1 ~]$ openssl dgst -sm3 - /etc/fstab 
SM3(/etc/fstab)= cb8e0dcf3dcb9754664db539bf28f75ea7218f3e48ca97f2d470a911e563834b

[root@node1 ~]# openssl enc -ciphers
Supported ciphers:
-seed-ecb                  -seed-ofb                  -sm4                      
-sm4-cbc                   -sm4-cfb                   -sm4-ctr                  
-sm4-ecb                   -sm4-ofb

# 测试sm4 加解密
[root@node1 shm]# openssl enc -sm4 -pbkdf2  -in fstab -out fstab.sm4
enter sm4-cbc encryption password:
Verifying - enter sm4-cbc encryption password:

[root@node1 shm]#  file fstab.sm4 
fstab.sm4: data

[root@node1 shm]# openssl enc -sm4 -pbkdf2 -d -in fstab.sm4 -out fstab2
enter sm4-cbc decryption password:

[root@node1 shm]# md5sum fstab fstab2 
5bc5d1fe5dc1ed936fab3aabbde66d2a  fstab
5bc5d1fe5dc1ed936fab3aabbde66d2a  fstab2

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

标签:sdi   yum   解密   cst   Opens   form   bash   sm3   检测   

原文地址:https://blog.51cto.com/1012682/2380553

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!