openssl 相关问题

OpenSSL是一个实现SSL / TLS协议的开源软件工具包,以及一般的加密库。

使用OpenSSL递归计算目录中所有文件的SHA256总和

我正在尝试使用 OpenSSL 递归计算目录中所有文件的 SHA256 总和。 这是我的代码: #包括 #包括 #包括 #包括 我正在尝试使用 OpenSSL 递归计算目录中所有文件的 SHA256 总和。 这是我的代码: #include <stdlib.h> #include <stdio.h> #include <dirent.h> #include <string.h> #include <openssl/sha.h> #include <openssl/md5.h> #define _MAX_LINE_ 256 int sha256_file (char* path, char output[65]){ FILE* file = fopen(path, "rb"); unsigned char hash[SHA256_DIGEST_LENGTH]; const int bufSize = 32768; char* buffer = malloc(bufSize); int bytesRead = 0; SHA256_CTX sha256; if(!file) return -1; if(!buffer) return -1; SHA256_Init(&sha256); while((bytesRead = fread(buffer, 1, bufSize, file))){ SHA256_Update(&sha256, buffer, bytesRead); } SHA256_Final(hash, &sha256); sha256_hash_string(hash, output); fclose(file); free(buffer); return 0; } void sha256_hash_string (unsigned char hash[SHA256_DIGEST_LENGTH], char outputBuffer[65]){ int i = 0; for(i = 0; i < SHA256_DIGEST_LENGTH; i++){ sprintf(outputBuffer + (i * 2), "%02x", (unsigned char)hash[i]); } outputBuffer[64] = 0; } void traverse_dirs(char* base_path){ char path[_MAX_LINE_]; struct dirent* dp; DIR* dir = opendir(base_path); unsigned char file_sha[65]; char* md5_command; if(!dir) return; while((dp = readdir(dir)) != NULL){ if(strcmp(dp->d_name, ".") != 0 && strcmp(dp->d_name, "..") != 0){ // calculate the sha256 sum of the file sha256_file(dp->d_name, file_sha); // print the name of the file followed by the sha256 sum printf("%s -> %s\n", dp->d_name, file_sha); strcpy(path, base_path); strcat(path, "/"); strcat(path, dp->d_name); traverse_dirs(path); } } closedir(dir); } int main(int argc, char* argv[]){ if(argc < 2){ printf("Usage: <executable> <dirname>\n"); exit(-1); } traverse_dirs(argv[1]); return 0; } 正如我手动测试的那样,sha256_file()函数为每个文件生成正确的 sha256sum。 traverse_dirs()功能也可以正常工作,因为它可以正确打印所提供目录的内容。 问题是他们不能一起工作。我发现文件在 sha256_file() 函数中无法正确打开(fopen 返回 NULL),但我不明白为什么。如果我在每个文件上手动使用它,它就可以正常工作。 有什么想法吗? 此 sha256_file(dp->d_name, file_sha) 不起作用,因为您不在包含该名称的目录中。您需要使用您在 path[] 中构建的路径。 如果 sha256_file(path) 是常规文件,则应仅调用 path;如果 traverse_dirs(path) 是目录,则应仅调用 path。您可以使用 d_type 检查那些。请参阅 dirent 的手册页。

回答 1 投票 0

在Python中解密ruby DES-EDE3-CBC加密数据

我有一堆数据,通过以下代码在 Ruby 中加密 文本='12345678' 键='6b4f0a29d4bba86add88be9d' cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').encrypt cipher.key = 密钥 s = cip...

回答 1 投票 0

OpenSSL 中的 AES-CTR PRNG 实现具有一致的输出和内存泄漏问题

我正在通过 OpenSSL 使用 AES-CTR 模式为一个旨在安全数据擦除 (nwipe) 的项目实现伪随机数生成器 (PRNG)。我的目标是在...时获得一致的随机数

回答 1 投票 0

openssl:尝试加载本地 ca 存储

我尝试理解CA存储的概念,并用我自己的证书链进行测试,而不影响系统范围。 我的本地主目录下有一个 ca_store 目录,其中一个根目录和一个

回答 1 投票 0

OpenSSL tpm2 提供商。使用 TPM 驻留私钥发出 CSR 的 C++ API

是否可以从 C++ 应用程序实现下面 bash 脚本中显示的功能,可能使用通过以下方式获得的 OpenSSL 提供程序: OSSL_PROVIDER * tpm2_provider = OSSL_PROVIDER...

回答 1 投票 0

使用 openSSL 验证身份验证

bob 创建了一个私钥 openssl genrsa -out Private.pem 1024 然后创建公钥 openssl rsa -in Private.pem -out Public.pem -outform PEM -pubout 他创建了一个名为 d...

回答 1 投票 0

自从 ruby 容器升级以来,我们遇到了很多:`OpenSSL::SSL::SSLError``SSL_read:读取时出现意外的 eof` 问题

因此,当我们升级 ruby alpine 基础容器镜像时,我们看到了很多 OpenSSL::SSL::SSLError SSL_read: Unexpected eof while Reading。据我了解,我们问题背后的主要原因是......

回答 1 投票 0

如何将 OpenSSL v3 二进制文件与 Windows 上的应用程序捆绑在一起?

如何在 Windows 上将 OpenSSL v3 二进制文件与应用程序捆绑在一起? 使用可执行文件,我有 libcrypto-3-x64.dll 和 libssl-3-x64.dll。 在 ./lib 目录中,engines-3 和 ossl-modules 中有 DLL。 好...

回答 1 投票 0

如何使用 boost 和 openssl 验证 ssl 证书

我需要将数据推送到服务器,并且数据需要安全地传输。 我正在使用 lib boost。 // SSL 上下文是必需的,并且保存证书 ssl::context ctx(ssl::context::tlsv13_clie...

回答 1 投票 0

PHP 使用 PKCS8 私钥为 API 生成签名

我对使用这些私钥和公钥加密数据完全陌生。许多教程教授如何生成和签署数据,但缺少有关如何实际使用这些密钥的信息。 做什么...

回答 1 投票 0

带有 x509 属性的 PHP openssl_sign_csr

我有一个生成 CSR 的脚本,可以与 Windows CA 集成进行签名,但我希望可以选择使用本地 CA 进行签名,因此我使用了 openssl_sign_csr 函数。而且正在签约...

回答 1 投票 0

在 Rust 中使用 DES-ECB 解密字符串

我正在尝试使用 Rust 中的 DES-ECB 加密算法解密字符串。我有以下加密字符串:

回答 1 投票 0

如何从文件加载 C# 中的 .pem 证书?

上下文 我有一个 pfx 证书文件。我可以使用以下代码成功将其加载到 X509Certificate2 类: var 路径 =“mycert.pfx” var 密码 = "我的密码"; var 证书 = 新

回答 2 投票 0

为什么 OpenSSL 不能与 PKCS11-URI 一起使用?

我的问题: 我尝试通过 pkcs11 uri 使用 RSA 密钥,该密钥存储在 tpm2_ptool 创建的外部 sql 文件中。 我的目标是创建证书签名请求(CSR)。 我收到以下错误消息: 凑...

回答 1 投票 0

网站抛出 ERR_SSL_PROTOCOL_ERROR

我发现了很多类似的问题,但这里没有解决方案。 https://pmadmin.qno.de/index.html:443 在浏览器中显示: Diese Website kann keine sichere Verbindung bereitstellen pmadmin.qno.de ...

回答 1 投票 0

无法在 iOS 中使用 SecKeyCreateWithData 加载 RSA-PSS 公钥

我为 rsa-pss-sha512 签名算法生成的密钥存在问题:我无法使用 SecKeyCreateWithData() 将其加载到我的 iOS 代码中。 这是我创建它的方法: % openssl genpkey -

回答 1 投票 0

在redhat中导入自签名证书

如何在 Red-Hat Linux 中导入自签名证书。 我不是证书方面的专家,并且发现很难通过谷歌搜索找到正确的答案,因为我不知道

回答 3 投票 0

Python ldap3 错误:[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1006)

我正在尝试在 Mac M1 上的 ldap3 库的帮助下从 python 框架连接到 ldap 服务器。 从 ldap3 导入服务器、连接、子树、全部、Tls、MODIFY_REPLACE 从 fastapi 导入 F...

回答 1 投票 0

由于 openssl-0.10.45/src/error.rs:122: 未定义对 `ERR_get_error_all' 的引用,货物构建失败

我正在实现一个基于 Rust 的 cli 工具。 我可以在其他机器上构建并运行代码,但无法在 Linux 内核 5.19 的机器上运行它: yaoxin@amd-sev-snp2:~/Trusted_Client$ uname -r 5....

回答 1 投票 0

如何使用 openssl 生成 x509 RSA-PSS 证书,其预告片字段包含值 0xBC 满足 RFC8017

使用 Windows 版本的 openssl(3.2.1),我们希望生成具有以下条件的证书: 哈希方法:SHA-256 掩码生成功能:具有 SHA-256 的 MGF1 盐的长度:32字节 特拉...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.