2013-02-04 109 views
2

對於任何與安全套接字層相關的問題,我一直都是新手,直到昨天晚上和今天。我需要獲得自簽名證書才能繼續進行應用註冊過程,以便我可以在我寫的應用中實施OAuth。我經歷了一個關於如何生成證書here的好教程。我是一個Ubuntu用戶,如果你沒有點擊鏈接來弄清楚。我一直試圖以PEM格式生成一個自簽名的1024位RSA密鑰編碼的x.509證書。完成配置並完成本教程中的所有內容(當然,除了將環境相關數據指定給我自己的環境外)。通過配置去後生成新的證書和密鑰的命令是:SSL ASN1 Ecoding例程和x509證書例程錯誤

軍隊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 

有沒有人遇到和補救呢?我提前欣賞它

回答

2

並不真正熟悉該過程,但它出現「無效的字段名稱:x509name.c:285:name = organizationUnitName」意味着您的組織單位名稱無效。

根據digicert.com:該組織單位是哪個公司的分支訂購證書,如會計,市場營銷等

6

,而下面你提到的相同的教程中,我遇到了類似的問題。在我的情況下,錯誤是:

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個字符的代碼。這解決了我的問題。

0

它取決於您的conf文件中的內容,openssl ca工具在文件中查找部分,這些部分查找其他部分,某些部分名稱是強制性的,部分中的某些名稱/值對是強制..這是一個相當大的配置空間提供的這個文件

你提到的錯誤出現時,openssl無法識別不同場景的部分內的名稱,例如我在爲最終實體證書添加自定義oid時以及在定製ca證書的內容時看到了它。

如果你發佈你的配置文件和你期望得到的ceritifcate,那麼我們可以提供幫助。你也可以說你打算使用什麼證書(例如,在生產Web服務或其他方面保證客戶端會話)