asn.1相关内容
我有一个使用HSM的Java程序,该程序与本机API一起为我提供ECDSA签名的R值和S值,这只是两个Big Integer。我需要使用这些Integer并创建ASN.1编码。关于我该怎么做的任何想法?我确实可以运行BouncyCastle,但是我不熟悉可用的选项。 解决方案 一个小例子来说明: import org.bouncycastle.asn1.ASN1Integer;
..
我试图使用 JASN1 我已经使用语法文件 成功生成了Java类,但是我没有需要解码的CDR,但是我无法使其正常工作,我不知道它需要什么样的输入 我已经到了可以将CDR解析为以下行的位置 [1] [[0]#01,[1]#26fd,[3]#4131002400,[8]#14040020236233,[9]#21436500000041,[10]#196105000045ffff
..
由于许多不愉快的原因,我一直试图使用bouncycastle API手动建立自己的证书签名请求。 表面上,我选择这样做是因为我需要使用CSR的预签名版本,以便使用存储在HSM中的密钥生成sha256withRSA签名,该密钥在LMK下加密,因此在CSR创建时无法立即使用。 无论如何,这有点偶然。 我已经设法通过与使用openSSL生成的其他CSR进行比较来创建CSR结构,添加所需
..
所有这些都提供二进制序列化,RPC框架和IDL.我对它们和特性(性能,易用性,编程语言支持)之间的关键区别感兴趣. 如果您知道任何其他类似的技术,请在答案中提及它. 解决方案 ASN.1 是ISO/ISE标准.它具有非常易读的源语言和各种二进制和人类可读的后端.作为一种国际标准(当时是一种古老的标准!),源语言有点像厨房的味道(与大西洋有点潮湿的方式差不多),但是它的规范非常明确,并
..
为什么模数用前导零填充?我正在阅读PKCS#1和PKCS#8,但没有找到任何有关它的信息. 在C#中必须删除前导零,有人知道为什么吗? 在 http://etherhack.co.uk/asymmetric/docs/rsa_key_breakdown.html 上,您会看到模数和指数的前导零.问题是为什么他们要它,我在任何地方都还没有找到解释. 解决方案 私钥值被编码为ASN.1
..
我正在尝试使用Oid和RSA公钥创建PublicKey实例,但是我遇到了一个CryptographyException,其中"ASN1错误标签值满足".我在在这里找到答案,以最终创建RSACryptoServiceProvider. 这是我的代码: string pem = @"-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAO
..
我目前正试图仅从解码的PEM文件创建RSACryptoServiceProvider对象.经过几天的搜索,我确实设法解决了一个可行的解决方案,但并不是一个可以立即投入生产的解决方案. 简而言之,为了从组成PEM文件中公钥的字节创建RSACryptoServiceProvider对象,我必须创建一个指定密钥大小的对象(当前使用SHA256,具体为2048),然后导入设置了Exponent和Modu
..
我已经用Java生成了ECDSA签名,我想从中获取R和S值.据我了解,我生成的签名是DER编码的.有人可以为我提供一些Java代码(也许使用Bouncy Castle)来检索R和S值作为BigIntegers吗? 注意:如果有帮助,我会使用内置提供程序通过JCE的Signature类生成签名,并且P_256 EC密钥对的签名长度通常在70到72个字节之间徘徊. 解决方案 我自己解决了
..
如何将.crt转换为.pem? 解决方案 您可以使用OpenSSL库进行此转换 http://www.openssl.org/ Windows二进制文件可以在这里找到: http://www.slproweb.com/products/Win32OpenSSL.html 一旦安装了库,则需要发出的命令是: openssl x509 -in mycert.cr
..
我正在尝试构建正确格式的GET PROCESSING OPTIONS命令以发送到非接触式EMV卡。 这篇文章很有帮助,但我只想知道更多细节。 在解析PDOL时,可以安全地假设每个标签的长度为2个字节,然后是返回的预期数据大小吗? 例如,将PDOL 9F66049F02069F37049F1A02 分为 9F66 04 , 9F02 06 等,每个都有2个字节的标签和1个字节的数据值的
..
我已经看过自己了,但是今天我的Google-fu似乎不强. 我正在努力开发一种标准化协议,用于通过Apache/PHP服务器与微控制器上的嵌入式C代码之间的TCP/IP连接交换数据结构. 我们正在使用ASN.1表示法,而我真正想做的是编写一段PHP代码,可以解析ASN.1文档并使用它来解释传入的数据.它将产生一个基于ASN.1适当构造的PHP对象(或数组).这里的目标是使用PHP来解析
..
使用openssl库,我创建了文件的数字签名. 如果使用openssl命令,我可以看到: openssl rsautl -verify -inkey pubkey.pem -pubin -asn1parse -in sigfile 我得到类似以下内容的好输出: 0:d=0 hl=2 l= 49 cons: SEQUENCE 2:d=1 hl=2 l=
..
我正在尝试从ASN.1/DER格式的证书中获取DN.我已经搜索过OpenSSL,但仍然找不到确切的功能来获取DN. 是否有人对此有任何经验,或者可以将我指向书籍或任何网站? 解决方案 我已经找到了一种方法.如果有人要这样做,我就放在这里. X509_NAME * cert_entry = X509_get_issuer_name(cert); unsigned char
..
我已经使用openssl命令创建了多个1024位DER编码的RSAPublicKeys(PKCS#1): openssl genrsa 1024 | openssl rsa -outform DER -RSAPublicKey_out -out pubkey.der 到目前为止,像这样创建的每个公钥文件都恰好是140个字节.以这种格式编码的1024位RSA公钥是否总是140字节,或者这个
..
在 解决方案 即使您可以哄骗证书生成代码以拥有更长的CN,也需要更改 clients 大多数您无法控制.客户很可能会拒绝CN太长的证书,然后您根本没有证书. 如评论中所述,您可以(并且应该)将该域名和其他域名放入“使用者备用名称"扩展名中,并将CN留空.不是整个“主题",而是它的CN部分.
..
我正在寻找有关使用OpenSSL库进行ASN.1 DER编码的任何C/C ++教程,示例代码或文档. 解决方案 好吧,正如您在openssl网站上看到的那样,没有关于ASN.1函数的官方文档. 但是您始终可以下载openssl来源.解压缩后,您可以在doc/crypto目录文档中找到ASN.1. # ~/tmp/openssl-1.0.1c/doc/crypto> ls -1
..
我已经计算出RSA密钥的n,e,d,p,q值. 现在,如何使用openssl命令行工具生成私钥文件(pem或der)? 我在考虑 openssl asn1parse -genconf asn1.cnf -noout -out asn1.der 但是我不明白如何构建conf文件. 解决方案 OpenSSL asn_generate_nconf的联机帮助页附带一个示例cnf,用
..
使用OpenSSL API,我从X.509v3证书中提取了一个自定义扩展名, X509_EXTENSION* ex = X509_get_ext(x509, 4); X509_EXTENSION对象包含一个值为ASN.1 OCTET STRING的值(例如-> value). OCTET STRING包含DER编码的UTF-8字符串.我正在尝试对OCTET STRING进行解码,以获取
..
如何将ASN1_TIME转换为time_t格式?我想将X509_get_notAfter()的返回值转换为秒. 解决方案 时间在内部以字符串形式存储,格式为YYmmddHHMMSS或YYYYmmddHHMMSS. 该字符串的末尾有几分之一秒和时区的空间,但是现在让我们忽略它,并保留一些(未经测试的)代码. 注意 :另请参见下面的布莱恩·奥尔森(Bryan Olson)的答案,其
..
如何从SSL证书创建PEM文件? 这些是我可以使用的文件: .crt server.csr server.key 解决方案 您的密钥可能已经是PEM格式,而只是用.crt或.key命名. 如果文件的内容以-----BEGIN开头,并且您可以在文本编辑器中阅读该文件: 该文件使用base64,它可以ASCII格式读取,而不是二进制格式.证书已经是PEM格式.只需将
..