問題タブ [gpgme]
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.
c++ - GPGME による柔軟な量のデータの暗号化
私は現在 C++ アプリケーションを作成しており、メッセージの署名、暗号化、およびキー管理に GPGME を使用したいと考えています。この方法でデータを暗号化できることを知っています:
しかし、ご覧のとおり、バッファー内の暗号化されたデータを読み取るための制限として MAXLEN を使用する必要があります。暗号化されたデータの結果が事前にどのくらいになるかを判断する方法はありますか (プレーンテックスが与えられた場合)? または、静的制限を受け入れる必要がありますか?
encryption - GPGME による対称暗号化
ドキュメントによると、gpgme_op_encrypt
GPGME のメソッドは対称暗号化タスクを実行できます。
recp が NULL の場合、公開鍵暗号化ではなく対称暗号化が実行されます。対称的に暗号化された暗号文は、gpgme_op_decrypt で解読できます。この場合、暗号バックエンドはユーザーからパスフレーズを取得する必要があることに注意してください。対称暗号化は現在、OpenPGP 暗号化バックエンドでのみサポートされています。
しかし、対称暗号化に使用される鍵はどこから来るのでしょうか? このキーを取得して別のデバイス (テキストを復号化したい) に転送することは何とか可能ですか?
c++ - GPGME でキーを生成中にエラーが発生しました
GPGME で新しいキーを生成しようとしていますが、残念ながら次のコードを機能させることができません。
条件error == GPG_ERR_NO_ERROR
が正しくありません。実際、エラーチェック条件はありません。error
私のデバッガーは、 の値が 117440567であることを教えてくれます。初期化は次のようになります。
ここでエラーは発生しません。GnuPG コマンドラインを使用してキーを完全に作成できます。では、GPGME でキーを作成する際のこの奇妙なエラーは何を意味するのでしょうか?
UDAPTE:
Auges の回答のおかげGPG_ERR_INV_VALUE
で、param 文字列の形式が正しくないという意味であることがわかりました。しかし、なぜ?空白以上のもので値を区切る必要がありますか?
アップデート
内部の引用符を変更しました
しかし今、私はGPG_ERR_GENERAL
.
アップデート:
文字列は次のようになります。
しかし、アプリケーションは でハングしgpgme_op_genkey
ます。
c# - GPG 暗号化はコンソール デバッグ モードでは機能しますが、リリース モード (ウィンドウ サービス) では機能しません。
gpg(GnuPG) を使用して .csv ファイルを .gpg ファイルに暗号化しています。以下のコードは、デバッグ モードで暗号化されたファイルを生成します。Windows サービスの下にインストールすると、例外がスローされます。「gpg: <>C:\emp.csv: スキップ: 公開鍵がありません gpg: [stdin]: 暗号化に失敗しました: 公開鍵がありません」. 「consoleapp.exe -c」のようなデバッグ モードでサービスを実行すると機能します</p>
java - gnupg-for-java の JUnit テストを実行すると NullPointerException が発生するのはなぜですか?
GnuPG と Java を使用して、暗号化および署名されたファイルを顧客と交換する必要があります。
そこで、gpgme ライブラリへの Java JNI バインディングをダウンロードしてコンパイルしました: https://github.com/guardianproject/gnupg-for-java
しかし、テストスイートを実行すると失敗します:
NullPointerException が発生したのはなぜですか? レイペアするにはどうすればよいですか?
私の環境:
私は通常、このマシンから GnuPG を使用します。
java - gnupg-for-java で GnuPG キーのパスワードを提供する
リモート マシンから GnuPG で暗号化されたファイルを取得する Java アプリケーションがあり、それらを復号化して処理する必要があります。次に、出力ファイルを暗号化してリモート マシンに送信する必要があります。
最初に試してみましたgnupg-for-java
( https://github.com/guardianproject/gnupg-for-java )。機能しますが、ファイルを復号化し、暗号化されたファイルに署名するためのパスワードを求められます。ドキュメントには、「GnuPG 2.x では、gpg-agent がユーザーにパスフレーズの入力を求めるプロンプトと、パスフレーズのキャッシュを処理します。」
ユーザーにプロンプトを表示せずにパスワードを提供する方法を知っていますか?