2009-07-09 9 views
2

pubkeyでファイルタイプ検出:周りの1024ビット(モジュラス) RSA内容に次のような構造を持っている私は、RSAのpubkey.dat(それが何であるか、ほとんど明らかに)持っ

  • ASN1整数

    • ASN1整数

    なしタグのような(指数)256バイト(署名)の

  • BLOBまたはそう "---- ---開始"。その中の純粋な16進値。

    DER/PEM /などのようにその形式を識別する方法はありますか?私はpython暗号ライブラリまたはC++でC++で開くことができますか?

    (それとも私がチェックすることが公共の標準構造の名前と一致した場合)

    M2cryptがそれをロードすることはできませんように、そのないPEMのように思えます。

    ありがとうございます。

  • 答えて

    2

    PEMエンコードは必須の形式になっています。

    -----BEGIN typeName----- 
    base64 of DER value 
    -----END typeName----- 
    

    ところ、公開鍵それは次のような正規表現でチェックするのは非常に簡単ですので、型名= "PUBLIC KEY"(AFAIR)について:

    /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----/ 
    

    PEMでない場合は、通常はDERです。

    ASN.1シーケンスのDER表現は常に0x30で始まるため、通常、私が知っているDERまたはPEMストリームをデコードする必要があるときは、ASN.1 SEQUENCE(ほとんどの複雑な値はSEQUENCEであり、とにかく)私は最初のバイトをチェックする:その0x30の場合、私はDERとしてデコードし、そうでなければPEMとしてデコードする。

    my very own opensource ASN.1 parserを使用すると、ASN.1のデータをすばやく確認できます(クライアント側のすべてのJavascriptだから、データは表示されません)。

    関連する問題