问题标签 [pem]

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 投票
2 回答
21062 浏览

java - 如何使用 PEM 文件在 Java 中创建 SSL 套接字?

请参阅相关问题。

我有一个 PEM 文件提供给我,并被告知在建立连接到 c++ 服务器以进行某些 API 调用的 SSL 套接字时需要它。有谁知道我如何读取 PEM 文件并进行连接?我还得到了释义密码。

0 投票
11 回答
1266305 浏览

ssl - 如何从 .key 和 .crt 文件中获取 .pem 文件?

如何从 SSL 证书创建 PEM 文件?

这些是我可用的文件:

  • .crt
  • server.csr
  • server.key
0 投票
2 回答
2670 浏览

python - 如何在 Python M2Crypto 中使用 .pem 文件

为了生成一个 RSA 密钥对,我使用了 openssl:

现在我想在另一个 .py 文件的函数中使用这个 my_key.public.pem 文件:

我做对了吗?两个文件都在同一个目录中,但是这个函数没有给出任何输出。

0 投票
3 回答
17811 浏览

c++ - 将 PEM 编码的 X.509 证书加载到 Windows CryptoAPI

我需要将 PEM 编码的 X.509 证书加载到 Windows Crypto API 上下文中以与 C++ 一起使用。他们是那些拥有-----BEGIN RSA XXX KEY-----和 的人-----END RSA XXX KEY-----。我找到了 Python 和 .NET 的示例,但它们使用了与普通 Windows Crypto API 无关的特定功能。

一旦我有一个 HCRYPTKEY,我就知道如何加密/解密。但是,我只是不知道如何在 .PEM 文件中导入 Base64 blob 并从中获得HCRYPTKEY我可以使用的。

我有一种奇怪的感觉,它不仅仅是打电话CryptDecodeObject()

有什么可以让我走上正轨的指针吗?我已经浪费了两天时间进行“试错”编程,但一无所获。

0 投票
1 回答
304 浏览

windows - CryptVerifySignature 的 CSP 内存不足

我遇到了 CryptVerifySignature 返回 NTE_NO_MEMORY 的问题(CSP 在操作期间内存不足。)

我正在尝试验证使用 OpenSSL 生成的签名,我已经解码了 PEM 公钥,反转了字节序列并将其导入。

我已经尝试明确指定 MS 增强提供程序,并且我的密钥长度为 4096 位(最大<16384 位)。

我在论坛上看到了一些建议内存对齐问题的评论,但我使用的是 Intel Pentium Dual-Core,而且我的缓冲区是 32 位对齐的。

有人见过这个问题吗?

0 投票
2 回答
487 浏览

ssl - 如何使用 VirtualHost 在同一个 Apache2 Server 2 不同的证书上使用?

我从 Gandi 获得了域 www.mondomaine.fr 的证书,但对于 sql.mondomaine.fr,我想使用自签名 SSL 证书。

如果我激活 sql.mondomaine.fr,www.mondomaine.fr 使用的是自签名证书,而不是 Gandiś 证书。

如果我停用 sql. 一切正常。

如何管理不同证书的使用?

似乎每个 SSL VirtualHost 都采用了第一个 VirtualHost 配置。

谢谢您的帮助。

这是我的配置:

对于 PHPMyAdmin :

对于 mondomaine.fr

配置是正确的,因为如果第一个 VirtualHost 读取是 PHPMyAdmin.pem ModSSL 使用这个,如果它是 mondomaine.fr.crt 第一个 VirtualHost,Apache 使用这个。

0 投票
2 回答
24537 浏览

java - 使用 PEM 编码的加密私钥对消息进行本地签名

我正在尝试使用 PEM(X.509) 证书(存储在磁盘上的 privateKey.pem 文件中)对通过 Java 中的套接字发送的消息进行签名,但是在找到一个接近的示例时遇到了很多麻烦。我通常是一个 C++ 人,只是介入帮助这个项目,所以当我不熟悉 API 时,我很难将它们全部组合成可以工作的代码。

不幸的是,我仅限于 Java 标准的方法(1.6.0 Update 16),所以虽然我发现了一个使用BouncyCastlePEMReader的类似示例,但它对这个特定项目没有多大帮助。

我的 privateKey.pem 密钥受密码保护,形式为:

它们的密钥是使用 OpenSSL 生成的:

我无法在运行前将此密钥转换为 DER 或其他格式,任何必要的转换都需要在代码内部完成,因为密钥需要易于替换并且格式将保持为 PEM。

我听到了很多我不完全确定的事情,并希望 SO 的集体思想可以帮助将这些碎片拼凑在一起。



听说PEM证书需要Base64 Decoded才能转换成可以使用的DER证书。我有一个名为MiGBase64的 Base64 解码工具,但我不完全确定如何/何时需要完成此解码。


我迷失在 Java API 文档中,试图追踪存在的 15 种不同类型的密钥、密钥库、密钥生成器、证书等,但我对它们中的任何一个都不够熟悉,无法正确识别我需要成为使用,以及如何一起使用它们。


基本算法看起来很简单,这就是为什么我无法编写一个同样简单的实现特别令人沮丧的原因:

1) 从文件中读取 privateKey.pem
2) 将私钥加载到 XXX 类中,使用 Passphrase 解密密钥
3) 使用带有 Signature 类的密钥对象对消息进行签名



非常感谢您对此提供帮助,尤其是示例代码。我一直在努力为这个问题找到有用的例子,因为大多数“接近”的例子都是使用 BouncyCastle 生成新的键,或者只是使用不适用的不同形式的键/类。

这似乎是一个非常简单的问题,但它让我发疯,任何非常简单的答案?

0 投票
1 回答
2618 浏览

certificate - 以编程方式将 .PFX 转换为 .PEM?

我需要以编程方式从 MS 证书存储中提取证书及其私钥,并以某种方式将它们转换为 .PEM 格式。我不想在命令行中使用 OpenSSL,因为我想将所有内容都保存在内存中,避免使用文件。

我可以使用 PFXExportCertStoreEx() 将它们从 Windows 导出到 PFX 格式的 blob。我通过将其写入文件并使用 OpenSSL 将其转换为 .PEM 来测试它。生成的 .PEM 文件工作正常。所以剩下的问题是让它们在内存中变成 .PEM 格式。

我们集成了一个需要 .PEM 的不同 SSL 库。(这不是 OpenSSL ...)所以我想在不将 OpenSSL 源代码包含到我们的 C++ 项目中的情况下完成此操作。有任何想法吗?

0 投票
1 回答
9196 浏览

c# - 如何从 pem 文件或 xml 文件中读取 RSA 公钥

我有一件简单的事情要做:我想使用 AES 算法和 pem 文件中包含的密钥来加密数据,如页面所示:http: //msdn.microsoft.com/en-us/library/sb7w85t6.aspx

在此示例中,每次运行该函数时都会创建一个新的加密密钥。但我需要从 pem 文件或 xml 文件中读取此密钥,但我找不到这样做的方法。

有没有一种简单的方法可以从 pem 文件中读取密钥并将其转换为字节数组 (byte[]) ?

我正在使用 C# - .net Framework 3.5,文件中的密钥是我们合作伙伴的 RSA 公钥。

0 投票
3 回答
4984 浏览

curl - 如何访问 FirstData Web 服务集成 WSDL 文件?

FirstData 有可怕的客户支持,但我必须与他们的 Global Gateway Web 服务集成以完成我正在从事的项目。我只是试图根据手册中的说明运行 Axis2 wsdl2java 工具。

这基本上包括添加keyStorekeyStorePassword JVM 参数。我已经完成了这两项工作,但是在尝试运行时我继续收到连接重置错误:

当我尝试使用浏览器访问 URL 时,我得到

错误 101 (net::ERR_CONNECTION_RESET):未知错误。

我假设已经有开发人员完成了 FirstData Web 服务集成。我究竟做错了什么?

我也尝试过通过 cURL 连接:

我知道我输入了正确的密钥密码,因为当我输入假密码时,我得到:

curl: (58) 无法设置私钥文件:'C:\FDGGWS\WSXXXXXXXXXX._.1.key' 类型 PEM