问题标签 [openssl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4452 浏览

python - 使用 GDB 调试 Python 内存

我们有一个使用 OpenSSL 的 Python 绑定的 Linux 应用程序,我怀疑它会导致随机崩溃。有时,我们会看到它崩溃并显示以下消息:

Python 致命错误:已跟踪 GC 对象

这似乎是库的编程错误,或者是内存损坏的症状。有没有办法知道它执行的最后一行 Python 源代码,给定一个核心文件?或者如果它附加在 GDB 中?我意识到这可能都是编译后的字节码,但我希望有人可能已经处理过这个问题。目前它在跟踪模块处于活动状态的情况下运行,我们希望它会再次发生,但这可能需要很长时间。

0 投票
12 回答
175530 浏览

encryption - 如何测试公共/私有 DSA 密钥对?

有没有一种简单的方法来验证给定的私钥是否与给定的公钥匹配?我有*.pub几个*.key文件,我需要检查哪个文件。

同样,这些是 pub/key 文件,DSA。

我真的更喜欢某种单线...

0 投票
6 回答
5839 浏览

c# - SSCrypto/OpenSSL 到 C# 加密

有没有人能够使用 SSCrypto Framework for Cocoa 加密文本,然后在 C#/.NET 中解密?或者有人可以提供一些指导吗?

我很确定我的问题与正确设置加密货币设置有关,但我对 Cocoa 的使用还很不熟练,所以我无法确定图书馆中使用了哪些设置。然而,我试图破译它似乎是 md5 散列、CBC 模式、用零填充,我不知道是否设置了 IV...

我的 C# 代码如下所示:

当我在 Cocoa 端运行加密时,我得到了加密的文本:

UMldOZh8sBnHAbfN6E/9KfS1VyWAa7RN

但这不会在 C# 端使用相同的密钥进行解密。

任何帮助表示赞赏,谢谢。

0 投票
2 回答
4297 浏览

php - 在 Cocoa 中加密数据,在 PHP 中解码

我试图解决的情况:在我的 Cocoa 应用程序中,我需要使用对称密码加密一个字符串,将其发布到 PHP,并让该脚本解码数据。该过程需要反向工作以返回答案(PHP 编码,Cocoa 解码)。

我遗漏了一些东西,因为即使我可以在 PHP 和 Cocoa 中使密钥和初始化向量 (iv) 相同,但当一个应用程序将其编码数据发送到另一个应用程序时,解码永远不会起作用。两者都可以很好地编码/解码自己的数据(经过验证以确保手头没有一些 PEBKAC 问题)。我怀疑某处存在填充问题,我只是没有看到。

我的 cocoa 应用程序使用 SSCrypto 进行编码(它只是 OpenSSL 函数的一个方便的包装器)。密码是 Blowfish,模式是 CBC。(请原谅内存泄漏,代码已被剥离为基本要素)

然后将 base64String 和 iv 发布到 PHP 以尝试对其进行解码:

decodedData 总是乱码。

我已经尝试反转该过程,将编码输出从 PHP 发送到 Cocoa,但 EVP_DecryptFinal() 失败,这让我相信某处存在 NULL 填充问题。我已经阅读并重新阅读了 PHP 和 OpenSSL 文档,但现在它们都模糊不清了,我没有想法可以尝试。

0 投票
1 回答
1248 浏览

openssl - OpenSSL 并在客户端生成 CSR

我需要你的帮助。我的基础架构是 IIS 6.0 和 windows server 2003。

我需要研究 OpenSSL 的使用以及可以发送给最终用户的媒体的构造,使他们能够生成 CSR,并生成支持 CSR 签名的文档。

我的意思是,我需要向最终用户发送一张 CD,其中包含一个脚本,该脚本可以根据我的公司 Publickey CA 在他们的机器上生成 CSR 和私钥。

  1. 客户端可以运行我通过某些 cd 或 DVD(可能是 openSSL 脚本)发送的实用程序需要接受一些参数,以便最终用户可以提供关键字/密码数据。

  2. 该脚本将通过某种安全方式将私钥和 CSR 生成回我的公司(可能是通过电子邮件,我知道这不安全,但他们如何将 CSR 发回给我们)

  3. 我们收到 CSR 并签署并返回给客户。

所以我需要记录这一点,以便最终用户能够理解他在做什么。

所以我的问题是我在哪里可以获得脚本发送给客户,以便他可以生成自己的 CSR 和 PrivateKey。

0 投票
2 回答
10845 浏览

perl - 我可以强制 LWP::UserAgent 接受过期的 SSL 证书吗?

我想知道是否可以强制 LWP::UserAgent 接受单个知名服务器的过期 SSL 证书。中间的 Squid 代理使问题稍微复杂化。

我什至设置了一个调试环境,例如:

幸运的是,在我想出自己的解决方案之前,这个问题最终在远程服务器上得到了解决,但我希望能够在问题再次出现时有选择地规避问题(在我之前,底层服务已经中断了几个小时)被要求采取行动)。

如果存在这样的解决方案,我更倾向于 LWP::UserAgent 级别的解决方案,而不是基于底层 Crypt::SSLeay 或 openSSL 实现的解决方案,因为我不希望放松其他不相关应用程序的安全性。当然,在我丰富的空闲时间里,我自己仍在寻找这样的解决方案。

0 投票
1 回答
1909 浏览

c - 如何在C中找到解码的base64数据的大小

我有一个函数可以解码二进制数据中的编码 base64 数据,但我不知道如何找到解码数据的长度。我在 openssl 中使用 BIO 函数。

0 投票
2 回答
4870 浏览

cryptography - 如何使用 X509 证书(通过简单验证签署文件,+其他问题)

昨天我花了几个小时尝试使用 X509 证书(来自 thawte 的“免费邮件”证书之一)对一个短文件进行数字签名。我终于让 openssl 将其签名为 SMIME 消息,但我无法成功验证它,而且它采用 SMIME 格式——我无法访问实际上可以发送 SMIME 文件的“sendmail”程序。

我只想通过简单的剪切和粘贴创建一些“可摘录”的文件,例如:

或者,我想我可以制作一个包含原始文件和签名的 .zip 文件。

所以我想我的要求是:

  1. 输入明文 = 任意文件
  2. 输入signkey =来自X509证书
  3. 输出 = 我可以通过剪切和粘贴或附加单个 .zip 文件轻松地通过电子邮件发送给其他人的东西
  4. 程序 = 免费和开源的东西,例如 openssl 或 gpg
  5. 程序!=一个神奇的 GUI,我不明白发生了什么
  6. 能够轻松使用程序从输入中生成输出
  7. 能够轻松地从输出中提取明文(例如,直接通过眼睛或作为 .zip 文件的一个组件)
  8. 能够验证明文是否由 X509 证书的被授予者(即我)签署,并且证书的授予者 (CA) 是知名 CA……假设我是一个保持证书安全的理性人被其他方使用(否则有人可以像我一样签名)。

有没有关于 X509 证书的好教程以及它们在实践中如何用于这些东西?我有 Schneier 的“应用密码学”的第 2 版,并且在密码算法 + 协议方面有相当多的经验,但对 X509 知之甚少,我真的很困惑证书实际上是什么. (换句话说,“证书是颁发方 CA 的加密断言,即证书中指定的方 X 是 CA 已知的身份?”和“证书使其持有者能够_____”)

当我得到一个时,它会显示在 Firefox 的证书管理器的“您的证书”选项卡中,我可以将其导出并使用 openssl 读取它,但我想确保它不会以任何其他人可以使用的方式存储 w /o 知道证书。密码——我真的很困惑,因为似乎有些证书只有公钥,而其他证书有加密的私钥。

是否有一个围绕 openssl 的良好、简单的 GUI 包装器,可以让您解释它在做什么?


编辑: thawte 不容易让你直接使用证书请求;相反,它与 Web 浏览器(我使用 Firefox)对话,并生成私钥并处理所有证书协议。所以我可以将它导出为 PKCS12 文件,但我不确定如何使用它。

0 投票
3 回答
9116 浏览

java - Java 客户端使用 Openssl 和客户端身份验证连接到服务器

我必须编写一个 Java 客户端来连接到 SSL 服务器。服务器使用 openssl 证书,并配置为进行客户端身份验证。

我似乎无法在网上找到任何有用的资源来帮助我(谁对 openssl 和 SSL 一无所知)了解谁来实现我的客户端。

帮助!

0 投票
1 回答
1020 浏览

cryptography - 将 OpenSSL 公钥转换为 NSS 1

如何将 OpenSSL 生成的公钥转换为一个 NSS 可以理解的?我使用 OpenSSL 生成了密钥,将其导出为 pkcs12 格式,将其导入 NSS 数据库,然后使用 McCoy 实用程序提取公钥。这让我大吃一惊。这可能是编码的问题,但我应该使用哪一个?

更新:看起来 OpenSSL内部包含NSS 密钥,所以问题是 - 我如何找出 OpenSSL 密钥的哪一部分也是 NSS 密钥?