問題タブ [openpgp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4864 参照

java - Bouncycastle openpgpg: 2 つのユーザー ID を持つ PGP キーペアを作成するには?

コマンド ライン gnupg を使用して、"John Doe <john@doe.com>" の RSA キーでキー リングを作成できます。と を使用して、uid "Jane Doe <jane@doe.com>" を持つ別のユーザーを追加することもでき--edit-keyますadduid。その結果、secring.gpg は次のようになります。

java.security.KeyPairから始めて、Bouncycastleを使用して、Javaで同じものを作成したいと思います。つまり、次のような署名を使用します。

ここで、pass はパスフレーズ、ids = new String[] {"John Doe <john@doe.com>", "Jane Doe <jane@doe.com>"}. このチュートリアルの行に従いました。コードの重要な部分は次のとおりです。

ここで、rsakp_sign と rsakp_enc は、それぞれ署名キーと暗号化キーの RSA キーペアであり、signhashgen と enchashgen は、アルゴリズム設定などを含むサブパケットのジェネレータです。

John のキーのみを作成する限り、すべて問題ありません。しかし、私が Jane を追加したいとき、私は問題に遭遇します:どうやら addSubKey を使用して Jane の signhashgen 化されたキーペアを追加することはできません。最初の素朴な試みは次のようになります。

それは何もしません。追加のエントリは に表示されませんgpg --vv meeththedoes.asc

または、John のキーリングを取得して秘密鍵を抽出し、Jane を追加することもできます。

これはちょっとうまくいきますが、結果として得られるキー リングでは、John と Jane は異なるサブパケットのセットを持っています。

私はおそらく望んでいませんよね?いずれにせよ、方法も間違っているようです。最初にジェネレーターを完全にインストルメント化してから、Bouncycastle にキー リング ファイルを一気に生成させることはできませんか? ここで何が間違っていますか?

0 投票する
1 に答える
746 参照

python - Pycrypto OpenPGP 暗号化: キーに 16 バイトの制限があるのはなぜですか? 16 バイトに達するためにキーのどの部分を提供すればよいですか?

pycrypto アプリケーションを介して Python で OpenPGP を使用してファイルを暗号化しようとしています。ここのコードで提供されているサンプルに従っています: https://github.com/dlitz/pycrypto/blob/master/lib/Crypto/Cipher/CAST.py

だから私はmode.openPGPを使用していますが、公開鍵を使用して何かを暗号化できないようです. 私の公開鍵は、彼らが指定する 16 バイトの制限をはるかに超えています (そして、私が見たどの世代もこの制限を超えています)。指紋 ID など、ここで使用することになっている別の値はありますか?

ファイルの内容を読み取り、キーで暗号化し、送信する新しいファイルに出力しようとしています (両方とも後で削除されます)。私のコードは次のとおりです。

0 投票する
2 に答える
1478 参照

python - Pycrypto と互換性のある GnuPG キーを作成する方法

ファイルを暗号化するために GPG で生成された RSA 暗号化 (この部分は変更可能で、GnuPG と Pycrypto は変更できません) を使用してキーを使用しようとしていますが、実際にキーをインポートするのに問題があります。現在、次のようなコードを使用しています。

ただし、私の public_key は DER 構造ではないため、これはエラーをスローしています。Pycrypto で動作する public_key を生成する方法はありますか? 私は暗号化に本当に慣れていないので、この問題についてどうすればよいかまったくわかりません。

0 投票する
4 に答える
7490 参照

maven - 公開鍵がありません: ID の鍵: (XXXXX) が見つかりませんでした (oss.sonatype.org)

ステージング リポジトリoss.sonatype.orgを中央リポジトリにプッシュしようとしていますが、このアクションが失敗し、次の例外が発生します。

以前gbpは公開鍵と秘密鍵を生成していましたが、次のコマンドで公開鍵をサーバーに送信しました

それでも同じ例外が発生します。クロスチェックしたSub Keyところ、1つしかありません。公開鍵をプッシュするために他に何をする必要があるのか​​ わかりません。

0 投票する
3 に答える
1021 参照

batch-file - バッチファイルを介してexeによって開くプロンプトに値を渡す

OpenGPG を使用しようとしていますが、何かを解読しようとすると、パスワードのプロンプトが表示されます。今、これを自動的に実行しようとしているので、パスワードを入力する必要はありません。だから私の質問は、バッチファイルから実行しているexeによって開かれたこの新しいプロンプトにパスワードを渡す方法です。私は gpg2.exe -help を見てきましたが、誰かが OpenGPG に精通している場合、またはパスワードを新しいプロンプトに渡すために実行できるコマンドがある場合、パスワードをパラメーターとして渡す方法はありません。

0 投票する
1 に答える
1279 参照

python - OpenPGP/X.509 ブリッジ: 公開鍵を確認するには?

TLS 経由で OpenPGP 認証を使用したいのですが、実装が不足しているため、一時的な解決策である OpenPGP/X.509 ブリッジ証明書を使用しました。

このアプローチは、Foaf で使用されているアプローチと非常によく似ています:
https://svn.java.net/svn/sommer~svn/trunk/misc/FoafServer/pgpx509/src/net/java/dev/sommer/foafserver/utils/ PgpX509Bridge.java

基本的には、変換された PGP 公開鍵を証明書要求に含めて、変換された PGP 秘密鍵から証明書要求を作成します。次に、変換した PGP 秘密鍵でリクエストに署名します。

OpenPGP と OpenSSL のキー形式には互換性がないため、「変換された」という言葉を使用しています。OpenPGP キーからキー パラメータを抽出し、それらを使用して新しい X.509 互換 (OpenSSL) キーを形成する必要があります。それにもかかわらず、期待どおりに機能します。

その結果、X.509 証明書の公開鍵で使用される PGP 公開鍵パラメーターを含む X.509 証明書が作成されますが、ユーザー ID と公開鍵署名が含まれていないため、認証には使用できません。

ここで欠けているのは、サーバー認証です。サーバーは以前にユーザーの PGP 公開鍵に署名していますが、X.509 ブリッジ証明書を使用してそれを確認するにはどうすればよいですか?

PGP ユーザー ID を CN (Common Name) として使用している場合でも、元の OpenPGP キーで使用されているユーザー ID と同じであることをどのように証明すればよいですか?
X.509 ブリッジ証明書には公開鍵署名はなく、同じ鍵パラメーターのみが存在します。それらに対して安全にチェックできますか?

これは Python で行う必要がありますが、一般的な進め方についての提案は非常に役に立ちます。

0 投票する
2 に答える
2178 参照

mysql - OpenPGP キーと暗号化されたデータをデータベースに保存する

空き時間にOpenPGPjs ( OpenPGP の Javascript ポート) をいじって何か新しいことを学んでいます。それをテストするために、データベースからキーペアと暗号化されたデータを保存および取得するための単純な Web アプリに取り組んでいます。

OpenPGPjs には「アーマード」キー (テキストとして出力されるバイナリ キー) を生成するオプションがあるため、データベースにそのまま保存したいと考えています。しかし、鍵ペアを生成しているときに、それらが固定長ではないことに気付きました (誤って想定していたように)。キーの長さが可変であるため、データベース内のフィールドのサイズにどの制限を選択するかについて混乱しています。

誰かがOpenPGPに関する次の疑問を明確にすることができます:

-> OpenPGP の「保護された」鍵の最大サイズは?
→暗号化されたデータのサイズから、暗号化されたデータのサイズを計算できるか?
->そのようなキーをデータベースに保存するための一般的な推奨プラクティス(ある場合)は何ですか。

PS:暗号化に Javascript を使用することの落とし穴を読んで理解したので、その警告を飛ばしてもかまいません。:)

:コメントに基づいて、質問を編集して、知りたいことのあいまいさを取り除いてください。

0 投票する
4 に答える
3198 参照

ios - iOS アプリでの PGP キーの作成

特定のメッセージを暗号化および復号化するために PGP キーが作成される iOS アプリケーションを構築する必要があります。

iOS での PGP 暗号化は初めてなので、PGP キーを作成、保持、アクセスし、キーを使用して暗号化と復号化を実行できるライブラリがあります。

バウンシーキャッスルとJavaのOpenPGPを備えたRSAアルゴリズムを使用して、バックエンドとAndroidバージョンを実装しましたが、iOSバージョンでも同じことを行う必要があります。つまり、iOS で作成されたキーは、Android バージョンで作成されたものと同じ形式で互換性がある必要があります。

0 投票する
1 に答える
60 参照

c# - PGP 検証: ファイルが正当なパスではありません

誰かが私のコードの何が問題なのかを知ることができますか?

以下の行でエラーが発生し続けました。

エラーは、パスが有効なパスではないことです。

以下は完全なコードです。

これは、公開/秘密鍵の署名および検証プログラムです。この部分は、署名されたメッセージの検証部分です。すべてがdidisoft OpenPGPを使用しています。