草庐IT

openssl_sign

全部标签

c++ - _InterlockedCompareExchange 文档中 "The sign is ignored"的含义

_InterlockedCompareExchange的文档对每个参数说Thesignisignored.这是否意味着像0xffff和0x7fff(对于16位版本)这样的数字将被_InterlockedCompareExchange16等视为相等其他宽度内在函数?或者这是否意味着内在函数接受有符号和无符号整数?还是别的?如果这不是文档中的错误,它至少看起来是模棱两可的。 最佳答案 符号位不会被忽略,就像其他位一样进行比较。..CompareExchange..函数只关心位的相等性,不以任何特殊方式解释它们。在基于x86的系统上,它们

php - 使用 OpenSSL C++ 库和 PHP 的 Blowfish 加密数据不一致

我正在尝试开发一个C++程序来加密一些数据,以便稍后使用基于PHP的Web服务进行解密。但是,我在使用PHP中的openssl_decrypt()方法使用Blow-fishCBC方法用PHP解密数据时遇到了问题。我正在测试此代码C++代码以加密消息并转换为base64格式以使用我的PHP程序解密。这是C++程序的代码。#include#includeintmain(){cout(ciphertext)));cout(decryptedtext)))我的PHP解密测试代码如下:但是,PHP程序无法解密由我的C++程序生成的$ciphertext。当我尝试回显$original_plain

c++ - 如何使用 OpenSSL 库生成 RSA-SHA256 数字签名?

我需要使用OpenSSL库从C++代码生成数字签名。我知道我需要那个DSA\DSA_do_sign,但不明白如何使用它。有没有人有这方面的例子,或者比OpenSSL提供的文档更好的引用?提前致谢! 最佳答案 您似乎混淆了RSA和DSA。但是,如果您想使用RSA-sha256进行签名,请使用EVPinterfaceforsigning.您可以使用EVP_SignInit_ex()方法和EVP_sha256()为type参数进行初始化。 关于c++-如何使用OpenSSL库生成RSA-SHA

QT使用OpenSSL的接口实现RSA2的签名和验签

QT使用OpenSSL的接口实现RSA2的签名和验签加密和签名在RSA加密算法中是两个不同的概念,虽然它们都涉及RSA密钥对的使用,但目的和应用场景有所不同。加密(encrypt/decrypt):加密:使用接收方的公钥对数据进行加密,只有拥有相应私钥的接收方才能解密数据。解密:使用接收方的私钥对加密数据进行解密,从而获得原始数据。加密用于保护数据的机密性,确保只有授权的人能够解密和读取数据。签名(sign/verify):签名:使用发送方的私钥对数据进行签名,产生一个数字签名。验证签名:使用发送方的公钥对数字签名进行验证,以确保数据的完整性和认证发送方身份。签名用于验证数据的完整性和真实性,

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

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

c++ - 使用 a<32> 将 bitset<a> 转换为 signed int

我正在阅读问题convertbitsettointinc++然后想,嘿,那行不通,我已经试过了。但后来我开始尝试并很快发现:#include#includeintmain(){std::bitsetb31(-1);std::bitsetb32(-1);std::cout(b31.to_ulong())(b32.to_ulong())给出输出2147483647-1那么,如何将小于32的位集转换为有符号整数?澄清:我想使用在构造保留的位集时使用的10基值转换回signedint。“将带符号的整数存储在位集中”我已经在win7上用gcc4.6.2和mingw32试过了,用c风格的转换(in

c++ - boost::lexical_cast<signed char> 无法处理负数?

这个简短的C++程序的行为方式让我感到困惑:#include#include#include#includeintmain(void){signedcharc=-2;assert(c==-2);c=boost::lexical_cast(std::string("-2"));std::cout使用g++5.2.1和boost-1.58.0,我得到:terminatecalledafterthrowinganinstanceof'boost::exception_detail::clone_impl>'what():badlexicalcast:sourcetypevaluecouldn

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++ - 将 unsigned long long 与 signed long long 结果相减?

假设我有这两种类型:typedefunsignedlonglonguint64;typedefsignedlonglongsint64;我有这些变量:uint64a=...;uint64b=...;sint64c;我想从a中减去b并将结果赋给c,很明显,如果差值的绝对值大于2^63,那么它将换行(或未定义),这是可以的。但是对于绝对差小于2^63的情况,我希望结果是正确的。以下三种方式:c=a-b;//signconversionwarningignoredc=sint64(a-b);c=sint64(a)-sint64(b);其中哪些可以保证按标准工作?(以及为什么/如何?)