好了言归正传,作为一名网工,加密传输是必不可少的课题,这次接触了一个小课题,通过Gmssl 工具与OpenSSL 完成基于SM2国密数字证书及基于SM2证书的SSL/TLS集成,在这里我先暂时用集成,因为包括Gmssl与OpenSSL都是由国内与国际的专门组织维护,我只是拿来主义幸好都是开源的,在国内百度的时候真心没有找到一篇完整的或者完全...
安装GmSSL 关键点就是no-shared:只编译静态库 下载解压 # 下载 gmsslwget https://github.com/guanzhi/GmSSL/archive/master.zip# 解压unzip master.zip 编译 cd GmSSL-master#--prefix 指定 gmssl 的安装路径 #--openssldir 表示 OpenSSL 数据区域,例如openssl.cnf,证书和密钥. 如果是相对目录,它将被添加到--...
cd /openvpn-2.5.3 ./configure --with-openssl-engine TYPE=gmssl --disable-lzo 等待执行完毕 ./make 等待执行完毕 ./make install 添加--with-openssl-engine TYPE=gmssl 参数指定采用gmssl引擎,--disable-lzo 因为我没有安装lzo所以加了这个参数,如需详细了解各参数可以使用 ./configure --help 验证算法 ...
4、64位的库必须使用大于等于Android 21来编译。 5、不同OpenSSL版本,头文件可能不同。 PS:使用上面链接下载的脚本可在_shared.sh中修改Android API版本,在build-openssl4Android.sh中可以填写OpenSSL版本。 二、GMSSL编译 1、参考https://github.com/wangp8895/gmssl-for-android。 2、使用NDK 14来编译。 3、3...
1. **Gmssl编译与安装 - 需要在Oracle Vbox中创建桥接网络的虚拟机,使用CentOS 7系统环境。- 下载Gmssl源码,安装必要的编译工具,如gcc和unzip。- 成功编译的标志是通过openssl命令检查到SM2算法的可用性。2. **OpenSSL编译 - 从指定网站下载OpenSSL源码,安装依赖如openssl-devel等。- 完成编译,确认...
以静态库的形式对GmSSL进行编译与安装,解决与系统OpenSSL的兼容问题。 具体步骤: 1)GmSSL下载 2)unzip master.zip 3)cd GmSSL-master/ 4)./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared注:--prefix表示安装路径;no-shared 表示只编译静态库 ...
c_rehash gmssl openssl 查看openssl版本 [root@localhost bin]# openssl version -a OpenSSL 1.1.1c FIPS 28 May 2019 built on: Fri Nov 8 21:33:10 2019 UTC platform: linux-x86_64 options: bn(64,64) md2(char) rc4(16x,int) des(int) idea(int) blowfish(ptr) ...
在编译GmSSL过程中,若遇到PEM_read_bio_EC_PUBKEY返回null的问题,原因可能是该函数仅支持Inter CPU架构。解决方法是在GmSSL-master文件夹中,将libcrypto.so.1.1文件拷贝至/usr/lib/aarch64-linux-gnu目录下,这样能确保gmssl命令执行正常。在编译OpenVPN时,通过添加--with-openssl-engine TYPE=gmssl...
myconfig.cnf文件内容如下,存放路径和生成的 SM2.pem SM2req.pem同一个路径就行: [v3_usage] keyUsage = keyEncipherment, dataEncipherment, keyAgreement extendedKeyUsage = critical,timeStamping 5.关于其中的值 可以参考openssl/gmssl自带的 openssl.cnf文件,比较全...
小弟不才,毕设需要用到sm2算法。通过gmssl实现的sm2能与java的bouncycastle互通。但是需要将sm2的实现部分加到以前用到openssl老项目上。 尝试过用gmssl库代替openssl库,但是会报错,主要问题是openssl很多头文件中的结构体定义,在gmssl中被移除了,没办法兼容,补充定义