http://en.wikipedia.org/wiki/PKCS
その PKCS7 (S/MIME) 署名を使用します。独自の証明書/秘密鍵のペアを生成し、証明書に自己署名してから、PKCS7 を使用して秘密鍵と証明書でファイルに署名します。証明書を添付し、実行時に openssl コマンド (man smime または単に openssl help を実行) を使用して自身をチェックできます。公開鍵が配布するファイルに含まれていても、その公開鍵の S/MIME 署名は配布しない秘密鍵でのみ生成できるため、これは改ざん防止です。したがって、ファイルが証明書によって署名されている場合は、秘密鍵を持つ誰かによって署名されている必要があり、秘密鍵を誰にも渡していないため、それはあなたからのものであるに違いありません。
自己署名証明書の作成方法は次のとおりです。
http://www.akadia.com/services/ssh_test_certificate.html
あなたの証明書を権限のルート (-CAfile) として信頼するように openssl を説得し、それをルートとして確認し、ファイルの証明書が自分のものであることを確認し (証明書をハッシュし)、ハッシュを確認する必要があります。文書化されていませんが、openssl の終了ステータスは、smime 検証を行うときにチェックしている署名の有効性を反映していることに注意してください。一致する場合は 0、一致しない場合は非ゼロです。
チェックがコード内にある場合、彼らがあなたを打ち負かしたい場合は、単にチェックを削除できるため、これらすべてが安全ではないことに注意してください。これを行う唯一の安全な方法は、OS にチェッカーを配置して、バイナリをチェックし、署名されていない場合は実行を拒否することです。しかし、OSにはチェッカーがなく、とにかくLinuxを変更して削除/バイパスできるため...これが本当に良いのは、人々があなたをバイパスしないようにすることよりも、破損したファイルを検出することです.