SSL ASN1编码例程和x509证书例程错误

时间:2013-02-04 02:28:00

标签: ssl ssl-certificate

直到昨天晚上和今天,我对任何与安全套接字层相关的内容都是新手。我需要获得一个自签名证书才能继续进行应用程序注册过程,以便我可以在我正在撰写的应用程序中实现OAuth。我浏览了一个关于如何生成证书here的好教程。我是一个ubuntu用户,如果你没有点击链接来解决这个问题。我一直在尝试以PEM格式生成自签名的1024位RSA密钥编码x.509证书。设置配置并完成教程后的所有操作(当然,除了将环境相关数据指定到我自己的环境之外)。在完成配置后生成新证书和密钥的命令是:

强制SSL在备用位置(服务器配置文件)中查找配置文件:

export OPENSSL_CONF=~/myCA/exampleserver.cnf

生成证书和密钥:

openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform     PEM

按照这两个命令显示以下内容:

Generating a 1024 bit RSA private key
...++++++
...............++++++
writing new private key to 'tempkey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----

我输入我的密码短语,我不断得到的错误是:

problems making Certificate Request
3074111688:error:0D06407A:asn1 encoding routines:a2d_ASN1_OBJECT:first num too      large:a_object.c:109:
3074111688:error:0B083077:x509 certificate    routines:X509_NAME_ENTRY_create_by_txt:invalid field name:x509name.c:285:name=organizationUnitName

4 个答案:

答案 0 :(得分:18)

我按照您提到的相同教程遇到了类似的问题。就我而言,错误是:

problems making Certificate Request
140098671105696:error:0D07A097:asn1 encoding routines:ASN1_mbstring_ncopy:string too long:a_mbstr.c:154:maxsize=2

所以我发现我已经写了一些字符串应该是2个字符长(maxsize=2),但发生的时间更长。我回到我的配置文件,很快发现我已经写了国家的长名称,而不是2个字符的代码。这解决了我的问题。

答案 1 :(得分:2)

并不熟悉该过程但是,显示“无效字段名称:x509name.c:285:name = organizationUnitName”表示您的组织单位名称无效。

根据digicert.com:组织单位是贵公司的任何一个分支机构订购会计,营销等证书。

答案 2 :(得分:0)

取决于conf文件中的内容,openssl ca工具查找文件中的部分,这些部分查找其他部分,部分名称是必需的,部分中的某些名称/值对是必需的..这个文件提供了相当大的配置空间

当openssl在不同情况下无法识别某个部分内的名称时,会出现您提到的错误,例如:当我为最终实体证书添加自定义oid时,以及在定制ca证书的内容时,我已经看到了它。

如果您发布配置文件以及您对结果ceritifcate的期望,那么我们可以提供帮助。您也可以说明您打算使用证书(例如,在生产网络服务或其他方面确保客户会话安全)

答案 3 :(得分:0)

我遇到了同样的问题,用 C=USA 而不是 C=US