2015-06-19 57 views
1

我使用keytool創建這個主題X509證書:X509證書:DN的標識(標識名稱)

CN =愛麗絲,OU =演示客戶,O = myCompany中,L =站點1,ST = WLL, C = NZ

但我創建了一個CSR並獲得進入簽字後(我用 「OpenSSL的CA」)我的 「O」 和 「L」 被突然發生逆轉:

CN =愛麗絲,OU =演示客戶端,L =站點1,O = myCompany中,ST = WLL,C = NZ

仍然被認爲是相同的兩個科目?或者訂單重要嗎?

+0

不,他們是不一樣的。訂單很重要。詢問CA如何使用您的證書。 – EJP

+0

我創建了自己的CA並使用openssl簽署了我的證書。爲什麼它會改變「L」和「O」的順序? – Frizz

+0

它們是否相同取決於DN的編碼方式。查看我的答案以獲取更多信息,並在您的問題中添加CSR和證書,以便確定您的案例的確切答案。 – frasertweedale

回答

-1

他們可能會或可能不會是相同的,這取決於如何在主題識別名(DN)在CSR和證書編碼。 DN被定義爲X.501類型Name。從RFC 5280

Name ::= CHOICE { -- only one possibility for now -- 
    rdnSequence RDNSequence } 

    RDNSequence ::= SEQUENCE OF RelativeDistinguishedName 

    RelativeDistinguishedName ::= 
    SET SIZE (1..MAX) OF AttributeTypeAndValue 

    AttributeTypeAndValue ::= SEQUENCE { 
    type  AttributeType, 
    value AttributeValue } 

    AttributeType ::= OBJECT IDENTIFIER 

    AttributeValue ::= ANY -- DEFINED BY AttributeType 

distinguishedNameMatch規則在RFC 5280 section 7.1(重點煤礦)之一定義:

兩種命名的屬性匹配,如果屬性類型是相同的, 的屬性的值是精確匹配經過與 處理後的字符串準備算法。 兩個相對可分辨名稱 如果RDN1和RDN2具有相同數量的命名屬性 ,並且對於RDN1中的每個命名屬性,RDN2中存在匹配的命名 屬性,則匹配。兩個專有名稱DN1和DN2匹配如果沒有他們 有相同數量的RDN的,每個RDN在DN1存在匹配的 RDN在DN2,以及配套的RDN出現在兩個 的DN相同的順序。專有名稱DN1是由 專有名稱DN2定義的子樹內,如果DN1至少含有多達的RDN作爲DN2, 和DN1和DN2是一個匹配時在DN1尾隨的RDN被忽略。

如果組織(O)和位置(L)的屬性出現在同一個相對專有名稱集主題既CSR和證書的DN,那麼所有其他條件相同, DN是相等的。如果它們在不同的RDN中,那麼RDN的順序已經改變,使得DN不同。

+0

AVA規則適用於RDN,不適用於DN,在任何情況下,這些都是LDAP規則。它們不一定適用於證書中的內容。 – EJP

+0

不正確。觀察DN是'相對區分名稱的序列(SEQUENCE OF RelativeDistinguishedName)'。 – frasertweedale

+0

對不起@EJP,誤解您的評論。誠然,LDAP規則不一定適用。我已經使用RFC 5280中的規則更新了我的答案,這些規則與LDAP規則相同。 – frasertweedale