問題タブ [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.
php - gpg4winを使用して暗号化した後、PHP gnupgでファイルを復号化します
私は pgp の問題で完全に立ち往生していますが、それは技術的な問題というよりも論理的な問題だと思います - とにかく、私はそれを理解していません。
目標は、gpg4win (www.gpg4win.de/index.html) でファイルを暗号化し、PHP (gnupg) で復号化することです。
まず、gpg4win で証明書を作成し、パスフレーズを設定して、単純なテキスト ファイル (ASCII) を暗号化しました。次に、ファイルをアップロードし、次のコードで復号化を試みました。
結果は: bool(false)
私が間違っていることは何ですか?さまざまなコードと提案を試しましたが、常に bool(false) になりました。
これらの方法は互換性がありませんか? 別のアプリケーションを使用する必要がありますか?
私が得ることができるすべての小さな助けに感謝します. どうもありがとう!
PS PHP は gnupg GPGme Version 1.4.2 Extension Version 1.3.3-dev でコンパイルされています
c# - Bouncy Castle (C#) を使用して PGP キー リングを生成すると、キー ID が FFFFFFFF になる
Bouncy Castle for C# を使用して RSA キー ペアを生成しようとしています。http://bouncycastle-pgp-cookbook.blogspot.de/2013_01_01_archive.htmlにある Java のチュートリアルに従い、マスター キーと署名キーを作成しました。私のコードは次のようになります
コードはこれまでのところ機能しており、デバッグ出力にも意味のあるキー ID が出力されます。ただし、秘密鍵をファイルに保存して GnuPG にインポートするとsec 0s/FFFFFFFF 2013-07-30
、マスター キーとして表示されます。暗号鍵はOKです。
編集:gpg --list-packet
ショー
アルゴリズム 3 はPublicKeyAlgorithmTag.RsaSign
で、マスター キーには問題ないと思います (Java サンプルもそうしています) が、GnuPG はこれを好みません...
私は何を間違っていますか?
前もって感謝します、クリストフ
c++ - Tag18 の OpenPGP CFB モード
RFC 4880 の 50 ページの下部には、平文データを暗号化して Symmetrically Encrypted Integrity Protected Data Packet (Tag 18) に格納する方法が説明されています。CFBモードを使用しているとのこと。セクション 13.9 (対称的に暗号化されたデータ パケット (タグ 9) の場合) で説明されているように機能するように、CFB のコードを作成しました。ただし、50ページには次のようにも書かれています。
対称的に暗号化されたデータ パケットとは異なり、このプレフィックス データを暗号化した後、特別な CFB 再同期は行われません。
したがって、タグ 18 の場合、手順は次のようになります。
ステップごとに、手順は次のとおりです。
フィードバック レジスタ (FR) は、すべてゼロの IV に設定されます。
FR を暗号化して FRE (FR Encrypted) を生成します。これは、すべてゼロの値の暗号化です。
FRE は、暗号文の最初の BS オクテットである C1 ~ C[BS] を生成するために、平文の前に付けられたランダム データの最初の BS オクテットと xor されます。
FR には C[ 1 ] から C[BS] がロードされます。
FR は、暗号文の最初の BS オクテットの暗号化である FRE を生成するために暗号化されます。
FRE の左側の 2 オクテットは、平文の前に付けられた次の 2 オクテットのデータと xor されます。これにより、暗号文の次の 2 オクテットである C[BS+1] と C[BS+2] が生成されます。
(̶T̶h̶e̶ ̶r̶e̶s̶y̶n̶c̶h̶r̶o̶n̶i̶z̶a̶t̶i̶o̶n̶s̶t̶e̶p̶)̶ ̶F̶R̶ ̶i̶s̶ ̶l̶o̶a̶d̶e̶d̶ ̶w̶i̶t̶h̶ C̶[̶3̶]̶ ̶t̶h̶r̶o̶u̶g̶h̶ C̶[2̶̶̶̶+
FR は暗号化されて生成されます— FRE
FRE は、プレフィックス付きデータの BS+2 オクテットの暗号化が完了したので、指定された平文の最初の BS オクテットで xor されます。これにより、暗号文の次の BS オクテットである C[BS+3] から C[BS+(BS+2)] が生成されます。
FR には、C[BS+3] から C[BS + (BS+2)] (8 オクテット ブロックの場合は C11-C18) がロードされます。
FR を暗号化して FRE を生成します。
FRE は、暗号文の次の BS オクテットを生成するために、平文の次の BS オクテットと xor されます。これらは FR にロードされ、平文が使い果たされるまでプロセスが繰り返されます。
再同期ステップが実行されていないため、ステップ 8 はステップ 5 の FRE を使用するため、無視できますよね?
上記の手順から、次のコードで何を誤解しましたか? タグ 9 では再同期ステップで機能することはわかっていますが、タグ 18 では何かがうまくいきません。
私は何を取りこぼしたか?
c# - BouncyCastle による OpenPGP 暗号化
Bouncy Castle 経由で OpenPGP を使用して、インメモリ公開鍵暗号化インフラストラクチャをまとめようとしています。私たちのベンダーの 1 つは、OpenPGP 公開鍵暗号化を使用してすべてのフィードを暗号化し、私たちにも同じことを要求しているため、テクノロジーと実装に行き詰まっています。そこで、これらのフィードを自動化するための OpenPGP 暗号化/復号化ツールキットをコーディングしています。
bouncycastle.org の例では、暗号化されたデータをファイル システムに書き込み、ファイル システムからキーを収集することがデフォルトになっています。これは私がやりたいことではないので、すべてをストリームベースにしようとしてきました。
実際にコードをコンパイルして実行できるところまで来ましたが、暗号化されたペイロードは空です。何かばかげたことを見逃していると思いますが、あれこれ試して数日経った後、これを客観的に調べる能力を失いました。
私のユーティリティ クラスには、次のメソッドが含まれています。
私のテスト方法は次のようになります。
私が得る結果は次のようになります。
誰かが私が間違っていることを教えてもらえますか?
openpgp - 有効な OpenPGP データが見つからないため、PGP TarBall ファイル署名キーの検証が失敗する
インストールしたいバインドソフトのキーを確認したほうがいいと思ったのはこれが初めてです。それで、OpenPGPキーと思われるものをダウンロードしました...
...次に、このキーをこのように「インポート」しようとしました...
...しかし、次のエラーメッセージが表示されます:
私は何を間違っていますか?
ありがとう!
c# - BouncyCastle を使用した RSA 暗号には入力が大きすぎます
特定の間隔で SFTP へのサービスをサーバーに書き込み、ディレクトリ内のすべてのファイルをダウンロードしてから、それらを復号化して処理しようとしています。
復号化メソッドはある時点で機能していましたが、それ以来変更していません。正常に機能したときと同じキーをまだ使用しています。
ここにある BouncyCastle の PGPEncrypt、PGPDecrypt、および PGPEncryptionKeys クラスを使用しています: https://github.com/sledwith/PGP-Decryption-With-C-Sharp
さらに、ここに示すようにコードを変更しました: BouncyCastle PGP を使用してファイルを復号化する際の例外
お気づきの場合は、コードがどのように修正され、復号化が機能したかについてコメントしました。
今、そうではありません。
なぜこれが起こったのか、またはどうすれば修正できるのか、誰かが洞察を持っていますか?
java - BouncyCastle OpenPGP の問題
BouncyCastle ライブラリを使用して署名および暗号化されたメッセージを作成しようとしています。これをコマンド ラインで gpg に対してテストして、有効かどうかを確認しています。ただし、一見問題ないように見える PGP メッセージが表示されますが、gpg では復号化に問題があります。
Java コード:
そして gpg コマンドライン出力:
どんな助けでも大歓迎です。
乾杯
ラモ