使用openssl的一些问题

openssl编译后,会生成bin,include,lib文件夹;

写了一个简单的例子:#include <openssl/md5.h>

#include <openssl/evp.h>
#include <openssl/rsa.h>
#include <openssl/x509.h>
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/ossl_typ.h>

int main()
{

    EVP_PKEY* pkey = EVP_PKEY_new();

    getchar();
    return 1;
}

死活编译不过,提示:undefined struct evp_md_ctx_st。

转到ossl_type.h看,发现typedef struct evp_md_ctx_st EVP_MD_CTX;,但没有evp_md_ctx_st的定义,整个include文件夹的头文件中都没有;只好在下载的源代码包中搜索,发现evp_locl.h中有定义,把它取出放到include文件夹中,然后#include <openssl/evp_locl.h>,再次编译,居然通过了。

时间: 2024-11-03 05:22:58

使用openssl的一些问题的相关文章

php7实现基于openssl的加密解密方法

还需要注意的是加密字符串长度问题,如果加密字符串长度太长需要进行分段加解密,如下代码: 加密:(公匙加密,私密一般用来解密) function encrypt($originalData){ $publicKeyFilePath = '/www/ceshi/rsa_public_key.pem'; extension_loaded('openssl') or die('php需要openssl扩展支持'); file_exists($publicKeyFilePath) or die('公钥的文

基于源码编译openssl

openssh依赖于openssl,由于ssl频繁曝出漏洞,牵扯到openssh.而自身也存在漏洞... 00.下载openssl https://www.openssl.org/source/ https://github.com/openssl/openssl/releases https://www.openssl.org/source/openssl-1.0.2l.tar.gz 01.准备工作 yum -y install perl perl-devel gcc gcc-c++ 02.编

openssl基础

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) prot

OpenSSL Heartbleed “心脏滴血”漏洞简单攻击示例

OpenSSL Heartbleed漏洞的公开和流行让许多人兴奋了一把,也让另一些人惊慌了一把. 单纯从攻击的角度讲,我已知道的,网上公开的扫描工具有: 1.  Nmap脚本ssl-heartbleed.nse: http://nmap.org/nsedoc/scripts/ssl-heartbleed.html 1 nmap -sV --script=ssl-heartbleed <target> 2. Jared Stafford的testssl.py: https://gist.gith

Centos7 httpd+openssl+ssh登录实现过程(爱你就给你写详细点)

上篇已经讲了LAMP的yum简易搭建 http://rexchow.blog.51cto.com/11619161/1885533 我们针对这套服务延伸openssl功能 原理就不多说了,谷X百X去 环境说明: server:CentOS7-192.168.230.202 client: win8.1-192.168.230.59 Apache/2.4.6 php Version 5.4.16 5.5.52-MariaDB 新增签发服务器:192.168.230.204 需要安装openssl

openssl、openssh升级

近期公司应用需要用到https协议:Centos6.5自带的的openssl 1.0.1e版本存在名为"心脏出血"的漏洞. 环境:CentOS6.5_x86_64 准备相关的包openssh下载地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssl相关包下载:http://www.openssl.org/source/pam相关包下载:http://pkgs.org/centos-6/centos-x

Windows 一键安装OpenSSL

原理:OpenSSL在github上有开源项目,我们只需要把代码克隆到本地,在本地编译一下就好了 注意事项: 1->在github上获取源码,必须要安装git for windows,网址 https://git-for-windows.github.io 2->OpenSSL的配置文件需要Perl语言来解析,所以本地电脑需要安装Perl脚本运行环境 perl官网下载地址 : https://www.perl.org/get.html  我选择的是草莓版(Strawberry) ,下载后安装P

安全与加密(openssl)

一.安全及威胁 NIST(National Institute of Standard and Technology,美国国家标准与技术研究院)制定了安全的数据应该具备的安全属性: 1)保密性 即认为安全的数据是具有隐私性的 2)完整性:数据不可被篡改,包括: 数据完整性: 系统完整性. 3)可用性 加密过的数据可以被还原且继续被使用 威胁我们数据安全的主要有以下攻击方式:STRIDE 1)Spoofing(假冒),arp欺骗等 2)Tampering(篡改) 3)Repudiation(否认)

Openssl pkcs7命令

一.简介 pkcs7命令用于处理DER或者PEM格式的pkcs#7文件.   二.语法 openssl pkcs7 [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-out filename] [-print] [-print_certs] [-text] [-noout] [-engine id] 选项 -inform arg input format - DER or PEM -outform arg output format -

openssl编译

官网:http://www.openssl.org/ 得到源码: git clone  https://github.com/openssl/openssl 一.用vc编译器编译: 1.下载nasm: http://www.nasm.us/ 2.下载perl: http://www.perl.org/ 3.配置: 运行 Configure . perl Configure VC-WIN32 --prefix=c:\openssl 如不成功会有明显提示. 4.创建Makefile文件. >ms/d