问题标签 [smime]

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 回答
3356 浏览

java - 使用 EC X509 证书加密电子邮件

我正在尝试使用 BouncyCastle 的 SMIME 包创建使用 ECDSA X509 证书的加密消息。根据 BouncyCastle 的发行说明,自 1.32 以来就已支持此功能(我使用的是 1.46),但我不断收到异常消息,指出找不到 ECDSA OID 的密码。

org.bouncycastle.cms.CMSException:异常包装内容密钥:无法创建密码:找不到任何支持 1.2.840.10045.2.1 的提供程序

这是我正在使用的测试证书之一的片段

我用来创建加密消息的代码如下所示:

我确定我在做一些明显错误的事情,但我现在没有看到它。有任何想法吗?

0 投票
1 回答
11967 浏览

ruby - How to Decode/extract smime.p7m file contents of SMIME signed email using Ruby OpenSSL library

I have a signed email message as string. And I want to get string with whole unsigned message with attachments and body that I can parse with, for example, Mail gem.

I found question: Decode/extract smime.p7m file contents (email with embedded files) with OpenSSL? and now I know how to do it via command line.

I can dump my string to temp file, decrypt via command line and then parse it. But this is not so good idea. I want to use OpenSSL library for Ruby.

0 投票
1 回答
1713 浏览

openssl - 从不透明的 pkcs7 p7m 转换为分离的 smime

嗨,我找不到将不透明 pkcs#7(p7m) 转换为明文 deatached smime 的方法,以便签名的内容可以由常规 mime 库处理。

我想获取 p7m 文件并将其转换为保持有效签名的 smime 消息。

步骤应该是:

  • 从 p7m 中提取签名的内容

  • 从p7m中提取cms结构

  • 将所有内容打包在带有分离签名的新 smime 结构中

这个操作可以吗?

我已经搜索了 openssl 手册,但找不到方法。

0 投票
1 回答
307 浏览

signing - 签署通过联系我们表格提交的消息?

所以人们可以使用 Thunderbird 签署消息,让人们通过联系我们表格签署消息怎么样?一个人将如何实现这一目标。

0 投票
1 回答
169 浏览

iphone - 我可以确定 MFMailComposeViewController 是否会使用 S/MIME 吗?

我想使用标准的 MFMailComposeViewController,但我需要告诉用户,发送的消息是否是使用 S/MIME 发送的(事实上,如果 S/MIME 被禁用,我需要禁用电子邮件创建)。我知道这是一个奇怪的要求,但无论如何,这可能吗?

0 投票
1 回答
4366 浏览

php - 使用 S/MIME (PHP) 发送带有附件的电子邮件

我正在尝试从 PHP 发送带有附件的加密电子邮件,但是,我的电子邮件只是在电子邮件客户端(在本例中为 MS Outlook)中显示为纯文本。这是我用来发送电子邮件的代码:

该脚本有效,电子邮件已发送,并且可以在 Outlook 中对其进行解密,但是,结果如下所示:

还有另一种发送带有附件的加密电子邮件的方法吗?或者有解决这个问题的方法吗?

0 投票
2 回答
455 浏览

blackberry - 原始 RSA 解密/签名

根据文档,我正在实现 RSACryptoToken,这是 RSA 加密令牌的接口。有 twp 方法,称为 decryptRSA 和 signRSA - 它们应该被实现。在文档中有一条信息,他们应该执行原始 RSA 解密和原始 RSA 签名操作。

  1. 什么是原始 RSA 操作?
  2. 这是否意味着没有填充?
  3. 黑莓或 Bouncy Castle 是否提供此类 API?
0 投票
1 回答
2737 浏览

openssl - 在 Objective-c 中使用 OpenSSL 的 CMS_encrypt()

我想使用 OpenSSL 的 cms 库使用 CMS_encrypt() 方法加密具有特定证书的文件。(我想这应该是正确的)有人有关于使用 CMS_encrypt() 的小样本吗?

谢谢

0 投票
1 回答
2557 浏览

ios - 将 BIO 保存到 char*(来自 SMIME_write_CMS)

我想将 BIO 保存(管道/复制)到 char 数组中。当我知道它的大小时,它可以工作,否则不行。

例如,我可以使用这个将我的 char* 的内容存储到 BIO 中

但是当我尝试使用 SMIME_write_CMS 时,它需要一个 BIO(我之前创建的)作为输出,它不起作用。

OpenSSL 参考使用带有 BIO 的直接文件输出。这可行,但我不能在objective-c中使用 BIO_new_file() ... :-/

你们有什么建议吗?

0 投票
1 回答
4743 浏览

cryptography - bouncycastle 中的 PKCS #7 SignedData 问题

在这里!

我对 openssl 生成的 smime 文件有疑问。我需要解析(在 BouncyCastle 的帮助下)一个用 openssl 生成的 smime SignedData 包。我使用此命令创建了一个示例:

问题是我需要在过程中填写一个pkcs7 ASN.1结构,然后应用标准中描述的算法,可以在这里找到:pkcs7 signedData

ASN.1 结构如下:

问题出现在签名的验证中。标准中说

消息摘要计算过程的结果取决于 signedAttrs 字段是否存在。当该字段不存在时,结果只是如上所述的内容的消息摘要。但是,当该字段存在时,结果是包含在 signedAttrs 字段中的 SignedAttrs 值的完整 DER 编码的消息摘要。

在 smime 包中,我有明文,我正在计算它的摘要并与从 smime 文件中读取 encryptedDigest 的结果进行比较,然后对其进行解密。假设它没有属性。但对我来说很明显,不知何故,包含在 smime 包中的签名不仅基于明文计算,还基于某些属性。我想知道的是使这项工作的一种方法,通过将 cleantext 附加必要的属性,以便两者的摘要等于从 SMIME 包中读取的 encryptedDigest 字段。

以下是我正在使用的主要内容。为了简化,我删除了(大量)调试部分,并放置了一些英文注释,替换了葡萄牙语注释。我认为这很容易理解,但是如果有人对此感兴趣,我可以发布我的整个代码。

现在是一个 SMIME 文件的示例,这是我实际使用的文件: