9

私が管理している、Linux を実行する小さなデバイスのソフトウェア更新手順を保護したいと考えています。更新パッケージのコンテンツの md5sum を生成し、そのハッシュを秘密鍵で暗号化してから顧客に送信したいと考えています。アップデートをロードすると、デバイスはハッシュを復号化して検証し、パッケージのインストールを続行する必要があります。

OpenSSLとRSAでこれをやろうとしています。このスレッドを見つけて、がっかりしました。その後、私はこのスレッドを見つけ、Perl が不可能と言われているすべてのことをどのように回避するのか疑問に思いました。私はこれを C で行っているので、SSL ライブラリのどこかに並列関数があるのではないでしょうか?

したがって、私の質問は本当に次のとおりです。コマンドラインLinuxに公開鍵を復号化入力として強制するか、Cを使用してその制限を回避することはできますか?

よろしくお願いします。

4

1 に答える 1

14

以下を使用して公開および秘密の RSA キーを生成したとしますopenssl genrsa

$ openssl genrsa -out mykey
Generating RSA private key, 512 bit long modulus
...++++++++++++
..........++++++++++++
e is 65537 (0x10001)
$ openssl rsa -in mykey -pubout -out mykey.pub
writing RSA key

次のような秘密鍵で何かに署名できます。

$ md5sum myfile | openssl rsautl -inkey mykey -sign > checksum.signed

公開鍵を使用して、このデータを確認できます。

$ openssl rsautl -inkey mykey.pub -pubin -in checksum.signed
df713741d8e92b15977ccd6e019730a5  myfile

これはあなたが探しているものですか?

于 2013-01-14T22:24:54.670 に答える