問題タブ [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 パスフレーズ保護
gpgme ライブラリを掘り下げようとしています。これに対する私の最初のステップは、ここの回答にある関数をコピーして貼り付けることでした。gpg インストールで唯一の新しいキーを作成しました。
キーはパスフレーズで保護されています。
gpgでテスト ファイルに署名するとgpg --sign testfile.txt
、予想どおり、パス フレーズを求められます。しかし、上記のコピー/貼り付け機能を使用すると、問題なく、秘密鍵へのパスフレーズを知らなくても、テスト ファイルに署名します。
私は両方の署名を検証することができgpg --verify testfile.txt.gpg
、両方のケースで署名が良好であったことがわかります(もちろんタイムスタンプは異なります):
おそらくこれは完全な暗号初心者の質問ですが、何かに署名するために秘密鍵を復号化するためのパスフレーズは必要ありませんか?
c++ - C++ カスタム pinentry ラッパー
ファイルの暗号化/復号化に gpg を使用する小さな C++ アプリケーションを作成しようとしています。GpgME ライブラリを使用しています。
gpg pinentry アプリケーションをポップアップ表示する代わりに、ユーザーがメッセージの復号化に使用するキーのパスワードを入力できるように、行を少し編集できるようにしたいと考えています。
次のようにして、pinentry アプリケーションのポップアップを無効にすることができます。
しかし、他の方法でパスワードを提供することはできません。私は数週間グーグルで検索してきましたが、収集できるものから、「カスタム pinentry ラッパー」を作成して、その方法でパスワードを提供できると言う人がいます。私はこれに頭を悩ませようとしていますが、それが何を意味するのか、どのように行うのかわかりません。
これに光を当てるのを手伝ってくれる人はいますか?
c++ - GPGME : 暗号化エンジンが無効です
C++ プロジェクトで gpgme の使用を確認しようとしていますが、OpenPGP エンジンにアクセスしようとすると
コンピューターに GnuPG をインストールしており、Windows で実行しています。
以上のコマンドgpgconf
でgpg2
正常に動作するため、GnuGP は適切にインストールされています
gpgme のデバッグ レベルを 9 に設定したところ、エラーが発生しました。ログは次のとおりです。
編集:これが私が実行したコードです:
c++ - Debian で GPGME を C++ アプリケーションに使用する
C++ アプリケーションで鍵の生成と暗号化に GPGME を使用したいと考えています。ただし、開始しようとしているときに、次の問題に行き詰まりました。
Debian システムの dev パッケージをダウンロードしました。ここで、ドキュメントに記載されているツールを使用して、cmake でライブラリを見つける場所をコンパイラ (Qt Creator の gcc) に伝えたいと思います。gpgme-config --cflags --libs
しかし、コンパイラ フラグに追加する方法がわかりません。これはうまくいきませんでした:
アプリをビルドしようとすると、コンパイラが見つかりませんgpgme-config
:
とにかくgpgme-config --cflags --libs
、コマンドラインで実行すると結果が得られます:
ドキュメントには、このプロセスを簡単にするために Automake と libtool についても言及されていることを知っています。しかし、以前は Automake も libtool も使用していませんでした。
アップデート:
また、GPGME に FindGpgme.cmake ファイルを使用しようとしました。しかし、私が最初に使用したファイルには、他にもいくつかの cmake ファイルが必要だったので、それらもダウンロードしました。FindGpgme.cmake と同じディレクトリに配置します。メインの cmake ファイル (FindGpgme.cmake) は見つかりましたが、MacroEnsureVersion と MacroBoolTo01 は見つかりませんでした。私の CMakeLists.txt への変更は次のとおりです。
FindGpgme.cmake の他のファイルへの相対パスと絶対パスを試しました。同じ問題 - cmake はそれらを見つけることができません。2 回目の試行は、gitweb で見つけたファイルを使用したものでした。エラーは次のとおりです。
その問題を解決する方法はまったくありませんset_package_properties
。
更新 2
追加した
kfunk によって提案されたように、私の CMakeLists.txt に。次のエラーが表示されます。
CMakeLists.txt:9 (find_package) での CMake の警告: CMAKE_MODULE_PATH に "FindGpgme.cmake" を指定しないことで、このプロジェクトは CMake に "Gpgme" によって提供されるパッケージ構成ファイルを見つけるように要求しましたが、CMake は 1 つを見つけられませんでした。
「Gpgme」が提供する次の名前のパッケージ構成ファイルが見つかりませんでした:
「Gpgme」のインストール プレフィックスを CMAKE_PREFIX_PATH に追加するか、
「Gpgme_DIR」を上記のファイルのいずれかを含むディレクトリに設定します。「Gpgme」が別の開発パッケージまたは SDK を提供する場合は、それがインストールされていることを確認してください。
CMAKE_MODULE_PATH
メッセージの説明の縫い目でさえかなり詳細ですが、FindGpgme.cmake を に追加する方法や、要求されたプレフィックスを に追加する方法がわかりませんCMAKE_PREFIX_PATH
。ただし、devパッケージは確実にインストールされています(パッケージマネージャーを使用)
c++ - C++ アプリケーションで GPGME を使用しているときに予期しない構造体が発生する
C++ アプリケーションで鍵の生成と暗号化に GPGME を使用したいと考えています。ただし、開始しようとしているときに、次の問題に行き詰まりました。
Debian システムの dev パッケージをダウンロードしました。ライブラリを見つける方法をコンパイラに伝えました。ライブラリを初期化できるかどうかを確認するためだけに (ここで説明)、次のコードを実行してみます..:
この線
qt 作成者によって赤で下線が引かれています。メッセージは
予想されるトークン ';' 「構造体」を取得しました
しかし、なぜ?
JFYI
以前の問題の概要として、私の CMakeLists は次のようになります。
プロジェクトのルート ディレクトリにあるメインの CMakeLists.txt:
application/framework/impl サブディレクトリの CMakeLists.txt:
アップデート
行の推奨を外した場合
メッセージが消えます。ドキュメントを確認しました。メソッドの署名は有効であると継ぎ目があります。使用しているライブラリのバージョンに問題がある可能性がありますか?
編集:
これはコンパイラ エラーではなく、qt 作成者によって付けられた単なる赤いマークです。タイプミスか何かが原因だと思います。しかし、タイプミスは見当たりません。さらに、行をコメントアウトしなくても、アプリケーションはコンパイルおよび実行されcheck_version
ます。
gnupg - GPGME で GnuPG の構成ファイルが正常に設定されたかどうかを確認します
GPGで暗号化アルゴリズムの優先順位を指定するために使用します
カスタム構成ファイルを設定します。ただし、この操作が成功したかどうかを確認するにはどうすればよいですか? home_dir
指定された値に設定されていますが、これは、構成ファイルなしでディレクトリを渡す場合にも発生します。構成ファイルがロードされたかどうか、または現在の優先順位が何であるかを評価するための関数または呼び出しがドキュメントに表示されません。
ruby - Ruby GPGME - 大きなファイルを暗号化する方法
Ruby で GPGME を使用して大きなファイル (使用可能なメモリよりも大きい) を暗号化するのが困難です。
この場合、メモリ割り当てのエラーが発生しました: 「読み取り:メモリの割り当てに失敗しました(NoMemoryError)」
誰かがソースファイルをチャンクごとに(たとえば100Mb)読み取り、暗号化を介してそれらを書き込む方法を説明できますか?