问题标签 [asn1crypto]
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.
python - 从 asn1 格式的签名数据中导出时间戳“signing_time”
问题是:从签名数据中导出时间戳(签名时间)?我之前验证了我的签名。我有一个 asn1 签名数据要验证。
我想从签名数据中导出时间戳。
我使用这段代码:
另一个尝试:
但没有结果。我怎样才能解决这个问题?
python-3.x - asn1crypto 或 ocspbuilder 是否支持多个证书 OCSP 状态请求?
在 Python 中创建一个支持例如此类请求的 OCSP 服务:
openssl ocsp -issuer ca-cert.pem -cert 1.pem -cert 2.pem -cert 3.pem -no_nonce -url http://localhost/ocsp -noverify
我可以看到 OCSP 请求列表中填充了 3 个证书,但无法获得 3 个证书的回复。查看asyn1crypto
和ocspbuilder
(下面)的源代码似乎只cert
支持一个请求:
响应列表似乎已经只填充了一个元素。对支持多个请求的证书的 Python OCSP 响应程序的实际实现有任何想法或指针吗?
python - 在 Python 中创建和保存 CMS / PKCS#7 对象
我需要能够在 Python 中生成、保存和读取 CMS / PKCS#7 数据。似乎可以使用asn1crypto
库来完成,但我很难找到允许我将数据保存到磁盘(以 PEM/DER 格式)的函数。asn1crypto/tests/test_cms.py有一个测试台,但它只显示如何从文件中读取 CMS / PKCS#7 数据并将其存储到相应的 asn1crypto.cms 对象中。我找不到手册,甚至找不到 asn1crypto.cms 函数(方法)的列表。
现在,我能够生成所有必要的部分,例如签名、加密数据、对称密钥等,所以我需要做的是找到一种方法将它们融合到 CMS / PKCS#7 兼容的文件格式中。基本上,我正在为 shellopenssl cms
和openssl engine
功能寻找等效的 Python 流。展示如何创建和保存 CMS 对象(例如,SignedData、EnvelopedData 等)的简单 Python 示例将大有帮助。
c# - 如何在 C# 中从 SSL 证书解码 SCT 列表
我目前正在这样做:
但是格式不是以人类可读的形式解码 SCT。有人可以告诉我这段代码有什么问题吗?
python - 添加 LTV(长期验证)使字节范围无效
我正在编写一个小型库,旨在成为一个高级(如易于使用)库,用于对使用 WeasyPrint 库(https://github.com/Kozea/WeasyPrint)生成的 pdf 进行数字签名。
我已经让它适用于自签名证书,现在我正在研究来自 Globalsign DSS API 的数字签名适配器(https://www.globalsign.com/en/resources/apis/api-documentation/digital -signing-service-api-documentation.html )
除了需要列出 OCSP 信息和链中任何证书的 DSS 字典(处理撤销)之外,我已经完成了除 LTV(长期验证)之外的所有工作。
当我添加必须在写入签名数据之后进行的 DSS 时,我在 Adobe Acrobat 中收到一个错误,指出签名字节范围无效。
如何在不使字节范围无效的情况下启用 DSS 功能?
我已经深入研究了 iText 库,但它非常抽象,很难弄清楚正在写入的实际数据。我仍然冒昧地标记 iText,因为它在某种程度上是处理 PDF 中的数字签名的行业标准。
openssl - Openssl Asn1parse 无法正确提取数据
使用 asn1parse 解码 openssl 数据时出现问题。使用 asn1parse 命令后,out.pem 包含与预期输出不匹配。实际输出和预期输出如下所示。请在这个问题上帮助我。
openssl asn1parse -inform PEM -in base64.pem -out out.pem
猫base64。佩姆cmF0aW9uLWhhbmRsaW5nIjogIm1lcmdlIiwKICAgICAgICAiY29uZmlndXJhdGlvbiI6ICJQSFJ2Y0NCNGJXeHVjejBpYUhSMGNITTZMMlY0WVcxd2JHVXVZMjl0TDJOdmJtWnBaeUkrQ2lBZ1BHRnVlUzE0Yld3dFkyOXVkR1Z1ZEMxdmEyRjVMejRLUEM5MGIzQStDZz09IiwKICAgICAgICAicG9zdC1jb25maWd1cmF0aW9uLXNjcmlwdCI6ICJJeTlpYVc0dlltRnphQXBsWTJodklDSnBibk5wWkdVZ2RHaGxJSEJ2YzNRdFkyOXVabWxuZFhKaGRHbHZiaTF6WTNKcGNIUXVMaTRpQ2c9PSIKICAgIH0KfQ==
88:d=0 hl=2 l= 67 prim: appl [ 9 ]
cat out.pem GVudC1va2F5Lz4KPC90b3A+Cg==", "配置后脚本": "Iy9iaW4vYmFzaAplY2hvICJpbnNpZGUgdGhlIHBvc3QtY29uZmlndXJhdGlvbi1zY3JpcHQuLi4iCg==" } }
预期输出.pem b'0\x82\x03\x99\x06\x0b*\x86H\x86\xf7\r\x01\t\x10\x01+\xa0\x82\x03\x88\x04\x82\x03\x84 {\n "ietf-sztp-conveyed-info:onboarding-information": {\n "boot-image": {\n "download-uri": [\n "https://example.com/my-boot -image.img"\n ],\n "image-verification": [\n {\n "hash-algorithm": "ietf-sztp-conveyed-info:sha-256",\n "hash-value" :“d8:56:8d:d2:10:5e:dc:75:4c:c7:87:ae:f1:27:97:65:e0:65:17:6c:04:61:22:fa: 3e:82:cf:9d:0f:ae:1a:3d"\n }\n ]\n },\n "预配置脚本": "Iy9iaW4vYmFzaAplY2hvICJpbnNpZGUgdGhlIHByZS1jb25maWd1cmF0aW9uLXNjcmlwdC4uLiIK",\n "configuration-handling": "merge",\n "configuration": "PHRvcCB4bWxucz0iaHR0cHM6L2V4YW1wbGUuY29tL2NvbmZpZyI+CiAgPGFueS14bWwtY29udGVudC1va2F5Lz4KPC90b3A+Cg==",\n "post-configuration-script": "Iy9iaW4vYmFzaAplY2hvICJpbnNpZGUgdGhlIHBvc3QtY29uZmlndXJhdGlvbi1zY3JpcHQuLi4iCg=="\n }\n}'
c - OpenSSL C API 实现 openssl asn1parse 逻辑
使用 openssl asn1parse 和命令“openssl asn1parse -in a.pem -out b.pem”解码数据。
如何使用 Openssl C 语言 API 实现相同的功能。
php - 如何从 X509 主题公钥信息中提取 pub 部分?
所以我有一个 pem 格式 ( mycert.pem
) 的证书,我只需要从中提取公钥。
openssl x509 -in mycert.pem -pubkey -noout
给我一个公钥。但是,它似乎是整个主题公钥信息的 base64 编码字符串。
但是,我只对“原始”公钥部分pub感兴趣:
如何提取(动态!)相关信息?重要的是有一种适用于任何证书的方法,而不仅仅是所提供的示例。
我的实现是在 php 中,所以理想情况下我会找到使用 phpseclib 或 openssl 函数的解决方案。但是,例如,通过命令行了解它如何与 openssl 一起工作也有帮助。谢谢你。
der - ASN.1 类型整数目标 c 的 DER 编码
我有 ASN.1 八位字节、位串、UTC 时间类型和除 ASN.1 整数转换之外的所有 ASN.1 类型的 DER 编码。
我在下面粘贴了示例代码
到目前为止,我们正在维护硬编码数组来表示 ASN.1 整数,例如: uint8_t version[3] = {0x02, 0x01, 0x01}; uint8_t serailnumber = {0x02, 0x05, 0x00, 0xCB, 0xE8, 0x39, 0xAF} 所以无论如何在代码中形成如上所述的八位位组/utc 以形成 Asn1 整数。
谢谢!!