2016-05-12 11 views
0

スマートカード からのデジタル署名証明書を使用してPDFファイルに署名する際に問題があります。すべての署名はユニコードなしで次のように表示されます [![すべての署名] [1]] [1]デジタル署名を追加中のPDFファイル

と私は署名を選択すると、それはあまりにもユニコードせずに以下のような enter image description here

を来て、文書に署名した後、それはまだ同じ、

enter image description here

証明書の発行者名はアラビア語で書かれていますので、修正方法を教えてください ありがとうございます。

+0

あなたの最初のイメージは消えました。 – mkl

+0

あなたが示しているダイアログはiTextSharpには関係しませんが、Adobe Readerのダイアログと思われるので、Adobe Readerで問題が見つかっているか、あなたの証明書に問題がある可能性があります。あなたの証明書(単に公開証明書も秘密鍵も)を共有するならば、それを調べて問題のどこにいるかを伝えることができます。 – mkl

答えて

1

問題は、アラビア語の名前が証明書にエンコードされているためです。証明書には


質問にアラビア文字で名前がsubjectAltName拡張子に含まれており、それがTeletexStringとしてエンコードされます。

032F 75:   SEQUENCE { 
    <06 03> 
0331 3:   OBJECT IDENTIFIER subjectAltName (2 5 29 17) 
     :    (X.509 extension) 
    <04 6E> 
0336 6E:   OCTET STRING, encapsulates { 
    <30 6C> 
0338 6C:    SEQUENCE { 
    <A4 4A> 
033A 4A:    [4] { 
    <30 48> 
033C 48:     SEQUENCE { 
    <31 46> 
033E 46:     SET { 
    <30 44> 
0340 44:      SEQUENCE { 
    <06 03> 
0342 3:      OBJECT IDENTIFIER commonName (2 5 4 3) 
     :       (X.520 DN component) 
    <14 3D> 
0347 3D:      TeletexString 
     :     'Ù.Ø­Ù.د اÙ.بدراÙ.Ù. عبداÙ.عزÙ.ز اÙ' 
     :     '.بدراÙ.Ù.' 
     :      } 
     :      } 
     :     } 
     :     } 
    <81 1E> 
0386 1E:    [1] '[email protected]' 
     :    } 
     :    } 
     :   } 

(OPは彼のスクリーンショットにメールアドレスを編集さとしては、私はここで同じでした。)

TeletexString(= T61String)ASN.1で入力

は、T.61文字の任意の文字列を示します。 T.61は、ASCII文字セットの8ビット拡張です。特殊な "エスケープ"シーケンスは、後続の文字値の解釈を、例えば日本語として指定します。最初の解釈はラテン語です。文字セットには、非印刷制御文字が含まれています。 T61String型は、ラテン文字と日本語文字の解釈のみを許可し、ディレクトリ名に対する実装者の同意は制御文字[NIST92]を除外します。 T61Stringの値は、ゼロを含む任意の長さを持つことができます。この型は文字列型です。 T.61 ながらを総称ASN.1 を入力アラビア語スクリプト、TeletexString(= T61String)におけるその使用を可能にするん

A Layman's Guide to a Subset of ASN.1, BER, and DER)したがって

は、ありません。

(あなたがthe ISO International Register of Coded Character Sets to be used with Escape Sequencesとの組み合わせでISO/IEC 8824-1に使用できる文字の正確な定義を見つけることができます。)いつものように

を、いくつかのアプリケーションは、拡張正確に指定されたカバーTeletexString実装を持っているし、いくつかは、より多くをカバーして実装しています、T.61文字セット全体まで。

特にAdobe Readerは、前者の中にあるようですが、少なくともあなたのsubjectAltNameのアラビア語の文字は含まれていません。一方、Microsoft Windowsの証明書ビューアは後者の中にあり、特にsubjectAltNameをカバーしています。言われ、この文脈でTeletexStringの使用は、RFC 5280によれば、とにかく疑わしい

実装はTeletexString、BMPString、又はUniversalStringを使用してエンコード 名前の証明書とCRLを発生し、しかし できますこれらのサポートはオプションです。

したがって、あなたが実際に... Adob​​eは、同様全然もうTeletexStringをサポートし、その理由のためにあなたの証明書を拒否することを選択した可能性があるので、あなたの証明書は一切受け付けていることを幸せにすることができ


subjectAltNameにアラビア語のスクリプトをより広く受け入れるには、証明書を再発行するようにしてください。TeletexStringの代わりにUTF8Stringをアラビア語のスクリプトに使用するようにしてください。しかし、いくつかの壊れたレガシーアプリケーションがあるかもしれませんが、そのような修正された証明書でヒックアップ...

+0

それは素晴らしい答えでした、mklに感謝、私は別の証明書を再現しようとすると、少なくとも私たちは、問題の一部が証明書のエンコーディングに依存していることを知っている。 –

関連する問題