草庐IT

OpenSSL1.1.1

全部标签

c++ - 如何使用 openssl 或任何其他带有智能卡签名的库创建 PKCS7 signedData 结构?

我需要创建PKCS7signedData结构并在智能卡上执行签名。这几乎是openssl函数PKCS7_sign所做的,除了签名。也许有人可以针对这个问题提出一些建议,即如何使用openssl或任何其他c/c++跨平台库来做到这一点。至于openssl,PKCS7_sign函数的标志PKCS7_PARTIAL或PKCS7_STREAM似乎很有用。如果我使用这些标志中的任何一个,我可以获得几乎完整的PKCS7结构。在这种情况下,结构是完整的,只是它不包含“数据”和“符号”。所以我只需要添加这些元素。但我没有找到如何做到这一点的方法。有人知道吗? 最佳答案

c++ - 在 .Net 中使用 OpenSSL RSA key

我使用的是openssl0.9.6g,我已经使用RSA_generate_key()创建了公钥/私钥对。当我使用PEM_write_bio_RSAPublicKey保存key时,它会给我这样的key:-----BEGINRSAPUBLICKEY-----...-----ENDRSAPUBLICKEY-----我在.NET中有另一个模块,由于其格式,在传入此key时会引发异常。它采用如下格式:-----BEGINPUBLICKEY-----...-----ENDPUBLICKEY-----如何将我的key转换成这种格式。我正在使用C++。在.NET中,我使用的是openssl.net,代

Windows 安装 OpenSSL 生成自签名证书

文章目录Windows安装OpenSSL生成自签名证书Windows安装OpenSSL验证安装是否正确了解自签名证书生成自签名证书.pfx证书和.cer证书Windows安装OpenSSL生成自签名证书Windows安装OpenSSL下载openssl.exe:适用于Windows的Win32/Win64OpenSSL安装程序Win64OpenSSLv1.1.1iLight,安装Win64OpenSSLv1.1.1i最常用的软件包Win64OpenSSLv1.1.1i,安装Win64OpenSSLv1.1.1i完整软件包Win32OpenSSLv1.1.1iLight,安装Win32OpenS

c++ - 如何在 C++ 中使用 openssl 加密库 header ?

我正在尝试测试openssl附带的加密库,我从http://www.openssl.org/source/下载了openssl它包含一个/crypto文件夹,其中包含每种加密类型的子文件夹。我想尝试BIO_f_base64,所以我创建了一个空的控制台应用程序,并添加了所需的包含,还将/bio和/evp文件夹的路径添加到c++incl目录,还添加了主/openssl文件夹。当我尝试编译时,我得到无法打开包含文件:'openssl/e_os2.h':没有这样的文件或目录但是文件在那里,我应该以不同的方式使用加密库吗?我如何使用它只添加/openssl路径而不添加我使用的所有加密子文件夹?我

c++ - OpenSSL 在 C++ 中验证对等(客户端)证书

我有一个工作应用程序,它与服务器建立SSL连接。服务器使用自签名证书,客户端加载证书颁发机构链以告诉它服务器可以信任。我在客户端用这样的代码做到了这一点:SSL_METHOD*method=TLSv1_client_method();_ctx=SSL_CTX_new(method);if(SSL_CTX_load_verify_locations(_ctx,"ca-all.crt",NULL)!=1){returnfalse;}_ssl=SSL_new(_ctx);intval=SSL_set_fd(_ssl,_socket->GetFD());if(val!=SSL_SUCCESS)

c++ - 在 Windows CryptoAPI 和 OpenSSL x509 格式之间转换

我有一个CERT_CONTEXT我通过CryptoAPI从Windows上的智能卡中提取的结构。我需要将此结构转换为与OpenSSL一致的DER编码字节数组。到目前为止我得到的最接近的匹配是通过CryptEncodeObject使用X509_ASN_ENCODING和采用CERT_INFO的X509_CERT_TO_BE_SIGNED修饰符结构作为输入。问题是它与OpenSSLi2d_X509生成的输出不匹配功能。使用2048位x509证书作为输入,OpenSSL产生1789字节的编码输出,而WindowsCryptoAPI产生1638字节的编码输出。我能看到的唯一选项是使用CERT_

c++ - 无法打开源文件 "openssl/bn.h"

#include#include错误:无法打开源文件“openssl/bn.h”,无法打开源文件“openssl/dh.h”???怎么了 最佳答案 确保您的系统上安装了libssl。如果你在linux上使用命令$yumlistlibssl如果已安装。确保你已经在include目录中给出了它的路径。如果您使用的是gcc,您可以使用告诉gcc在目录中搜索-I/path_of_libssl文件夹 关于c++-无法打开源文件"openssl/bn.h",我们在StackOverflow上找到一个

基于OpenSSL的SSL/TLS加密套件全解析

概述SSL/TLS握手时,客户端与服务端协商加密套件是很重要的一个步骤,协商出加密套件后才能继续完成后续的握手和加密通信。而现在SSL/TLS协议通信的实现,基本都是通过OpenSSL开源库,本文章就主要介绍下加密套件的含义以及如何在OpenSSL中指定加密套件。加密套件介绍SSL/TLS协议的加密套件是定义了在一次连接中所使用的各种加密算法的组合。它包括以下几个主要部分密钥交换算法:用于协商会话密钥,如RSA、DH、ECDH等。对称加密算法:用于实际数据传输的加解密,例如AES、3DES等。消息认证码(MAC)或伪随机函数(PRF):用于验证数据完整性及防止篡改,如SHA256等。如何指定加

c++ - Android ndk 上 OpenGLES 1.1 中具有 GLSurfaceView 模式的 FrameBuffers

在AndroidNDK中,是否可以使OpenGLES1.1使用典型的Java端GLSurfaceView模式(覆盖GLSurfaceView.RendereronDrawFrame、onSurfaceCreated等方法),同时在C++端使用框架、颜色和深度缓冲区和VBO?我正在尝试使用这个创建它们:voidES1Renderer::on_surface_created(){//Createdefaultframebufferobject.Thebackingwillbeallocatedforthecurrentlayerin-resizeFromLayerglGenFramebuf

c++ - IO 完成端口和 OpenSSL

我有一些遗留代码使用OpenSSL进行通信。就像任何其他session一样,它使用SSL功能进行握手,然后通过TCP进行加密通信。我们最近更改了代码以使用IO完成端口。它的工作方式与OpenSSL相反。基本上,我很难将我们的安全通信代码从完全使用OpenSSL迁移到IOCP套接字和OpenSSL加密。有没有人/任何人知道任何可能帮助我完成此类任务的引用资料?TLS握手如何通过IOCP工作? 最佳答案 为了使用OpenSSL进行加密,但做你自己的套接字IO,你基本上要做的是创建一个内存BIO,当套接字数据可用时,你可以在其中读取和写入