特定の理由でユーザーにコードを提供するSSL経由のサービスがあります。 Webサーバーの秘密キー(gpg --clearsign
)そして、署名されたコードを送信して、サイトを離れた後にその起源を確認できるようにします。
残念ながら私はエラーを受け取ります:
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
信頼性を維持しながらサーバーの公開キーを提供する方法がわかりませんが、その意味を大まかに理解しています。
エクスポートされた(そしてユーザーに提供された)公開鍵に、エクスポート先のユーザーと「署名」する必要がありますか?
この信頼を提供する簡単な方法は何ですか?
私はキーサーバーについて読みましたが、率直に言って、これは実際には私にとっての選択肢ではありません。これをどのように機能させることができるかわかりません。
基本的に問題は信頼の問題です。
ファイルに署名するときに、誰かがあなたの公開鍵を取得して署名を確認する必要がありますが、これが本当にあなたの署名であることをどのようにして確認できますか?
GPGは、Web of trustと呼ばれる方法を提供します。たとえば、あなたがボブであり、アリスと話し合いたいとしましょう。あなたはあなたの友達であるTedをすでに知っており、GPGを使用して議論するためにすでに鍵を交換しています。テッドがアリスも知っていることはご存じでしょう。したがって、アリスの公開鍵を渡して署名するように彼に依頼できます。したがって、このキーを読み取るときに、Tedの署名をチェックして、キーが有効であることを確認できます。
もちろん、あなたはテッドが正しく行動し、盲目的に何かに署名しないという信念を持っている必要があります。
したがって、あなたのケースでは、この警告を回避することはできません。ユーザーは、このキーを信頼できるものとしてマークできるように、安全であると考える方法でキーを取得できる必要があります。あなたのクライアントを知っていて、新しいクライアントのキーに署名できる他の人を知らない限り。間違いなく、自己署名キーは役に立たない(私は偽ってそれで署名することができる)。