通过代码获取 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"
下面是命令行执行结果:
可以直接输出该宏,或者通过 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
相关文章推荐
- 通过代码获取MOSS的版本
- 通过JAVA代码获取手机的一些基本信息(本机号码,SDK版本,系统版本,手机型号)
- iOS开发基础-通过代码获取版本更新信息
- 通过JAVA代码获取手机的一些基本信息(本机号码,SDK版本,系统版本,手机型号)
- 通过javascript获取iframe里的值示例代码
- 通过web获取到“OSD%E6%B5%8B%E8%AF%95”OSD测试的字符处理代码
- 通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
- 通过 GPS 信息获取当前所在城市名的代码
- 通过鼠标的图形化选取来获取日期字符串的JS代码
- 关于webstrom安装git,并通过Coding进行代码版本控制
- jquery中通过过滤器获取表单元素的实现代码
- 如何通过代码获取word文档使用的语言
- 基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good
- 通过代码获取AM的实例
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- 通过OpenSSL获取证书扩展属性之二:“密钥用法”和"增强型密钥用法"
- 如何通过代码实现获取本周周一的日期
- Android通过代码获取ROOT权限
- 通过android代码获取android系统的imei、手机型号、手机品牌、android系统的版本号、sdk版本号等信息
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)