1

keytool を使用して、このサブジェクトで x509 証明書を作成します。

CN=alice、OU=Demo Client、O=myCompany、L=Site1、ST=wll、C=nz

しかし、CSR を作成してエントリに署名した後 (「openssl ca」を使用)、「O」と「L」が突然逆になります。

CN=alice、OU=Demo Client、L=Site1、O=myCompany、ST=wll、C=nz

両方の科目は同じと見なされますか? それとも順番が大事?

4

1 に答える 1

-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 セクション 7.1 で定義されています(強調は私のものです)。

2 つのネーミング属性が一致するのは、属性の型が同じであり、文字列準備アルゴリズムで処理した後に属性の値が完全に一致する場合です。 2 つの相対識別名 RDN1 と RDN2 が同じ数の命名属性を持ち、RDN1 の各命名属性に対して一致する命名属性が RDN2 にある場合、それらは一致します。DN1 と DN2 の 2 つの識別名は、RDN の数が同じである場合に一致します。DN1 の各 RDN には一致する RDN が DN2 にあり、一致する RDN は両方の DN で同じ順序で表示されます。識別名 DN1 が識別名 DN2 によって定義されるサブツリー内にあるのは、DN1 に少なくとも DN2 と同じ数の RDN が含まれており、DN1 の末尾の RDN が無視される場合に DN1 と DN2 が一致する場合です。

組織(O) および場所(L) 属性が、CSR と証明書の両方のサブジェクト DN に設定された同じ相対識別名に表示さ、他のすべてが等しい場合、DN は等しい。それらが異なる RDN にある場合は、RDN の順序が変更されているため、DN が異なります。

于 2015-06-19T23:29:50.623 に答える