問題タブ [gnupg]

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 に答える
226 参照

perl - Is there a canonical, if not core, Gnu Privacy Guard CPAN module?

I'm looking for the right GPG Perl module to use for a small project. I see there are numerous competing modules providing almost identical functionality, but some have a slew of unaddressed bugs, haven't received an update in half a decade, etc. Is there a GPG module one should always use, or do I just need to bite the bullet and assess which is the best for my needs and whose bugs will have the least impact?

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

maven - 複数のサーバーで同じPGPキーを使用していますか?

この質問は、PGP鍵の「ベストプラクティス」に該当すると思います。最初に非常に簡単な背景。私はオープンソースプロジェクトを主導しており、「ApacheMaven」リポジトリに公開するための多数のリクエストを受け取っています。これを行うには、PGPキーを使用して各リリースに署名する必要があります。

そこで、PGPを使用して、ローカルコンピューターで公開鍵/秘密鍵を生成しました。「秘密鍵」をエクスポートして暗号化し、「ビルドサーバー」に転送しました。ビルドサーバーは、キーが無効であるとして、キーのインポートを拒否します。さらに分析すると、ビルドサーバーはローカルコンピューターで使用したものとは異なるユーザーIDで実行されているため、互換性がないと考えられます。

PGPキーのペアは私の名前に関連付けられているので、は1人のPGPキーを1つだけ所有する必要があると思いましたか?しかし、これは本当に本当ですか?マシンごとに1つ生成する必要がありますか?そして、インポート/エクスポートを使用してそれらをバックアップしますか?これは問題なく実行できます。複数のマシンでPGP秘密鍵を複製しようとすると、非常に困難に見え、PGPを間違った方法で使用しているように見えます。つまり、自分用に1つのキーを作成してビルドサーバーにコピーしたり、自分からの電子メールを暗号化するためにも使用したりすることを考えています(必要な場合)。

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

security - 多数の小さなデータチャンクに署名する際のセキュリティの問題

非対称キーアルゴリズム(できればGPGを使用したRSA)を使用して、膨大な数の小さなデータチャンク(ハッシュ、SHAなど)に署名し、署名されたファイルを公開したいと考えています。

これは、秘密鍵の計算を容易にするなど、セキュリティ上の問題を引き起こしますか?

もしそうなら、これを防ぐためにどのような方法がありますか?

編集:

例として、これを使用する必要があるのは、ファイルのタイムスタンプ署名です。特定のファイルが特定の時間に存在したという事実に署名します。帯域幅が制限されているため、署名サーバーに送信されるのはハッシュのみです。署名サーバーは、日付を追加してハッシュに署名し、署名を返します。

0 投票する
7 に答える
10135 参照

java - ランタイム プロセスを介して Java で GnuPG を呼び出してファイルを暗号化および復号化する - 復号化が常にハングする

注:有効な解決策を見つけることができなかったので、後でこれに戻ります。inputStream.read() メソッドがプログラムを永久にブロックするため、BufferedReaders を使用する代わりに入力ストリームを手動で排出しても効果がないようです。gpg 呼び出しをバッチ ファイルに配置し、Java からバッチ ファイルを呼び出して、同じ結果のみを得ました。復号化オプションを指定して gpg を呼び出すと、入力ストリームにアクセスできなくなり、プログラム全体がブロックされます。タスクに集中する時間がもっとできたら、これに戻る必要があります。それまでの間、別の方法 (おそらく BouncyCastle) で復号化を機能させる必要があります。

おそらく試す最後のオプションは、cmd.exeを呼び出し、そのプロセスによって生成された入力ストリームを介してコマンドを書き込むことです...

この問題に関する支援に感謝します。


私はこの問題に数日間取り組んできましたが、何の進展もありませんでした。

Java ランタイム プロセスを介して GnuPG を呼び出す簡単なプログラムを作成しています。ファイルを暗号化および復号化できる必要があります。暗号化は機能しますが、ファイルの復号化に問題があります。ファイルを復号化しようとすると、プロセスがハングアップします。exitValue()常に IllegalThreadStateException をスローし、プログラムはまだ待機しているかのように処理を続けます。これらのメソッドのコードを以下に添付します。プログラムの最終的な目標は、ファイルを復号化し、その内容を Java で解析することです。

gpgDecrypt メソッドを機能させるために 3 つの方法を試しました。最初のアプローチでは、passphrase-fd オプションを削除し、catch ブロックの gpgOutput ストリームを介してパスフレーズを gpg に書き込みました。これはうまくいかなかったので、パスフレーズをファイルに入れて -passphrase-fd オプションを追加しました。この場合、プログラムは無限に繰り返されます。gpgOutput ストリームを介して何かを書き込むと、プログラムは完了します。出力された終了値は 2 の値を持ち、結果変数は空白になります。

3 番目のオプションは BouncyCastle ですが、秘密鍵を認識させるのに問題があります (これはおそらく別の投稿です)。

暗号化と復号化に使用しているキーは、GnuPG によって生成された 4096 ビットの RSA キーです。どちらの場合もパスフレーズとパスフレーズ ファイルを使用して、出力を 経由> myFile.txtでファイルにパイプしようとしましたが、違いはないようです。

gpgEncrypt、gpgDecrypt、および getStreamText メソッドは次のとおりです。暗号化が機能するため、両方を投稿しましたが、暗号化メソッドと復号化メソッドの間でプロセスを実行および処理する方法に明らかな違いは見られません。getStreamText は、ストリームの内容を読み取り、文字列を返します。

編集:クイックノート、Windows環境。復号化コマンドの出力をコピーすると、コンソールから問題なく動作します。したがって、コマンドが有効であることはわかっています。


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

javascript - Javascript を使用した鍵ペアによるテキストの署名と検証

秘密鍵、できれば既存の SSH (RSA) または PGP 鍵を使用してテキストに署名できるライブラリ (または実装できる適切に記述されたアルゴリズム リファレンス) はありますか?

私の目標は、ブログ投稿に署名するためのブックマークレットを作成し、別のブックマークレットを提供して他のユーザーがそれらを確認できるようにすることです。私は、いかなる種類の安全な通信もしようとはしていません。他人の公開鍵を保存し、それらを使用して作成者を自動的に検証できるのは素晴らしいと思いました。

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

php - パスフェーズでphp call linux GPG暗号化ファイルを使用する方法

私はする必要があるタスクを持っています

gpg を使用して、php でアップロード ファイルを暗号化します。

私のコードは次のとおりです。

Linuxにコードを貼り付けることで機能します

しかし、phpのどのソリューションでも機能しません

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

java - CI環境でMavenプロジェクトのGPG秘密鍵を保管する場所は?

Sonatype OSS リポジトリにデプロイする前にプロジェクト成果物に署名するために、maven-gpg-plugin:signを使用しようとしています。問題は、秘密鍵をどこに保管するかですsecring.gpg

  1. 継続的インテグレーション~/.gnupgディレクトリ内
  2. プロジェクトのソースコードで、例えばsrc/test/resources/gpg/secring.gpg

なぜ?

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

javascript - Javascript での GPG 署名の確認

公開鍵を抽出して JavaScript でメッセージを暗号化するためのソリューションは既にありますが、メッセージを復号化する方法や署名を確認する方法がわかりません。何か案は?

私が見る限り、メッセージを実際に復号化する機能は既にあります。メッセージに署名できるようにするには、秘密鍵を抽出するだけです。間違っている場合は訂正してください。ただし、手順 1 では、秘密鍵の文字列を復号化し、MPI (多倍精度整数) を取得してから、それを素数と復号化子に分離し、復号化に渡すことができるようです。関数。

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

linux - スクリプトを使用したブルートフォースGPGパスフレーズ

Linuxのgpgキーのパスフレーズを忘れてしまいました。誰かがブルートフォースを使用してキーを解読するための簡単なスクリプトを書くのを手伝ってもらえますか?パスフレーズに含まれている可能性のある単語のいくつかを覚えているので、うまくいけば、私のコンピューターがそれを総当たり攻撃するのにそれほど時間はかからないでしょう。

パスフレーズを復元できなくてもすべてが失われるわけではありません。つまり、ファイルの別のコピーを取得するために仕事に戻るまで、次の10日間はプロジェクトに取り組むことができなくなりますが、今回はパスフレーズを覚えておくための新しいキー。

しかし、この10日間で私のプロジェクトに取り組むことができれば素晴らしいと思います。

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

c - .gpgファイルの内容を表示する

私はCアプリケーションを書いていますが、.gpgファイルのコンテンツ(次に暗号化されたコンテンツ)を表示する方法があるかどうか知りたいです。問題の.gpgファイルは、私が暗号化した単純な.txtファイルに関するものです。私は少しGPGMEを知っています、それはその機能で可能ですか?または他の方法...

編集:私は1つのことを考えました:私のアプリケーションが「--armor」オプションを使用する場合、バイナリではなくASCIIモードの.gpgファイルがあります...したがって、.gpgファイルは簡単に読み取ることができますか?最も簡単な方法...