您的位置:首页 > 编程语言

通过代码获取 openssl 版本

2014-02-19 09:51 141 查看
Openssl版本定义在 openssl/opensslv.h 中的 OPENSSL_VERSION_NUMBER 宏中

可以直接输出该宏,或者通过 SSLeay() 函数返回一个 long 型值。示例代码如下:

// g++ test.cpp -lssl -o t

#include <iostream>

using namespace std;

#include <openssl/opensslv.h>

#include <openssl/crypto.h> // unsigned long SSLeay(void)

int main() {

cout << "OPENSSL_VERSION_NUMBER: " << OPENSSL_VERSION_NUMBER << endl;

cout << "SSLeay(): " << SSLeay() << endl;


cout << "SSLeay_version(SSLEAY_VERSION): " << SSLeay_version(SSLEAY_VERSION) << endl;

cout << "SSLeay_version(SSLEAY_CFLAGS): " << SSLeay_version(SSLEAY_CFLAGS) << endl;

cout << "SSLeay_version(SSLEAY_BUILT_ON): " << SSLeay_version(SSLEAY_BUILT_ON) << endl;

cout << "SSLeay_version(SSLEAY_PLATFORM): " << SSLeay_version(SSLEAY_PLATFORM) << endl;

cout << "SSLeay_version(SSLEAY_DIR): " << SSLeay_version(SSLEAY_DIR) << endl;

return 0;

}

执行结果:

OPENSSL_VERSION_NUMBER: 268435459

SSLeay(): 268435459

SSLeay_version(SSLEAY_VERSION): OpenSSL 1.0.0-fips 29 Mar 2010

SSLeay_version(SSLEAY_CFLAGS): 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 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM

SSLeay_version(SSLEAY_BUILT_ON): built on: Mon Mar 4 22:19:53 UTC 2013

SSLeay_version(SSLEAY_PLATFORM): platform: linux-x86_64

SSLeay_version(SSLEAY_DIR): OPENSSLDIR: "/etc/pki/tls"

下面是命令行执行结果:

[root@localhost yasi]# openssl
OpenSSL> version
OpenSSL 1.0.0-fips 29 Mar 2010
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: