復号

2017-06-22 1 views
0

用X509証明書を使用して私は、中央ライセンス局で使用されている書X509v3証明書のいくつかのデータを持っています。私の質問は、私はC#コードを使用してデータを復号化するのに十分な量の次の情報量ですか?さらに、証明書のプロパティはどのようにプロジェクトにインポートされますか?私は継続するために証明書ファイルを作成する必要がありますか?私には知られている復号

は以下のとおりです。

  • 件名
  • シリアル番号
  • 発行
  • "ルートCA"
  • 公開鍵アルゴリズム: "rsaEncryption"
  • RSAモジュラス、128バイト
  • RSA公開鍵指数
  • 書X509v3拡張キー使用法: "クリティカル"
  • 署名アルゴリズム:256の無題のバイトが続く "md5WithRSAEncryption"、
  • SHA1指紋

は、私はすべての証明書ファイルを持っていません。似たような質問が既に答えられていれば、私はすみません、私は私のようなものを見つけることができませんでした。

+0

「RSA指数」とはどういう意味ですか?解読するためには、秘密鍵指数が必要です。公開鍵指数では不十分です。 https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29#Decryptionを参照してください。 – fuglede

答えて

2

いいえ、あなたのデータは十分ではありません。まず第一に、これはすべてpublicデータです。秘密鍵は含まれていません。秘密鍵は復号化または署名生成に使用されます。公開鍵は、暗号化と署名検証に使用されます。あなたは一見解読するために証明書を使用できるように

.NET APIが独特です。これは事実ではありません。証明書と秘密鍵のペアは1と見なされます。 秘密鍵が含まれている場合次には実際に解読できます。個人的に私はこれを小さな設計ミスとみなしています。


原則として、情報をもとに証明書を作成することができます。基本的には、同じ情報を持つ証明書を生成し、発行者と署名フィールドを置き換える必要があります。

これは、心臓の弱いためしかしではありません。試してみる前に、数年の経験をお勧めします。上記のリストに情報がない場合は、有効な証明書/署名()が得られず、間違っていることを警告することはありません、ただ失敗です。あなたは1つの利点を持っています。署名が確認されたり、指紋があなたが持っているものと同一であれば、あなたは成功したとが知ります。

もちろん復号化することはできません。秘密鍵はまだ失われています。


署名が256 untitled bytesであることに注意してください。

2

この情報は十分ではありません。このデータは、データを暗号化するための公開鍵です。 RSAParameters