問題タブ [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.
macos - libgpgmeを含めると、Firebreathをビルドできません
質問で述べたように、Xcodeを使用してMacOSX 10.6でlibgpgmeを必要とするfirebreathプロジェクトをビルドしようとすると、上記のエラーが発生します。コンソールから次のコマンドを実行でき、正常に機能するため、インクルード/検索パスは有効です。
gpgme-configからの出力は、-L / opt / local / lib -lgpgme-lassuan-lgpg-errorです。他にどのような情報が必要かわからない場合は、コメントしてください。必要に応じて更新します。
c++ - WindowsのFirebreathプラグインがChromeで読み込めない
私はここで既存のfirebreathプラグインを使用して、OSとgpgバイナリを介して呼び出しを行う代わりにgpgmeを使用するように変換するのに忙しいです。
x32システムでVS2010を使用してWindowsでコードをコンパイルすることができましたが、プラグインをchromeにロードした後、npapiコードにまったくアクセスできません。単純なバージョンの呼び出しでさえ失敗します。
プラグインをロードすると、目に見えるエラーは発生しませんが、Chromeにsawbuckログビューアを使用すると、以下のerorrメッセージが表示されます。
私はfirebreath1.4と1.6の両方でコードを使用しようとしましたが、どちらのバージョンも機能しません。いくつかの簡単なデバッグの後、gpgmeによって提供されたコードを使用すると(呼び出されたかどうかに関係なく)、プラグインが破損するようです。
私は次のことを行うことでこの結論に達しました。
- firebreathを使用して新しいプロジェクトを作成しました(バージョン1.4および1.6)
- gpgme.hヘッダーをgmailGPGAPI.cppに追加し、プロジェクトに必要な参照パスを追加する以外は何も変更しませんでした。
- プロジェクトをビルドしてdllを作成します(これにより、dllが正常に生成されます)。
- プロジェクト内の既存のddlを手順2のdllに置き換え、次のコードでテストします
プラグイン=document.createElement('object'); plugin.id='プラグイン';
plugin.type ='application / x-gmailtest';
document.body.appendChild(plugin);
console.log( "私のプラグインが返されました:" + plugin.valid);
console.log( "私のプラグインが返されました:" + plugin.version);
- これはvalid=trueを返し、バージョンは設定したものを返します。
- 次に、gmailGPGAPI.cppを変更して、versionメソッドでgpgme_check_version(NULL)を呼び出してgpgバージョンを返すようにしました。私がテストできる最も単純な戻り関数であるため、このメソッドを使用しました。
- プラグインをビルドし、手順3-4のようにdllをChrome拡張機能にコピーします。プラグインは期待どおりに再び正常にビルドされます。
- プラグインをロードし、ステップ4でコードを実行してみます。その時点で、プラグインでアクセスしようとしているプロパティまたはメソッドに対して未定義が返されます。sawbuckに記録されたエラーを除いて、コンソールまたはChromeの他の場所にエラーは出力されません。
対処すべき実用的なエラーが発生しないようであるため、どこを見ればよいのか、何を試してみるのかわかりません。また、テストコードによって、問題を見つけやすくするために1行変更された新しいプロジェクトにまで削減しました。
リポジトリ内のコードはlinux/OSXで正常にビルドされ、Chromeに正しく読み込まれるため、あるレベルでコードが機能することがわかります。
ubuntu - gpgmeのビルド後にmakeチェックが失敗する
Ubuntu12.04でgpgme-1.3.2をビルドしようとしています。私はすでにlibgpg-error-1.10とlibassuan-2.0.3をビルドしました。コマンドは単純です:
どちらのライブラリも成功裏に構築されmake check
、失敗はありませんでした。
ただしmake check
、ビルドされたgpgmeでは、22個のチェックのうち22個が失敗しましたが、ビルドされたエラーはありませんでした。他の2つのライブラリを構築するために使用したのと同じコマンドを使用しました。
c - GPGME を使用して鍵サーバーで公開鍵を検索する
今日、gnupg メーリング リストで新しいスレッド、Search keys on a keyserver with GPGMEを開始しました。基本的に、アプリで GnuPG を使用するためのインターフェイスとして GPGME を使用していますが、GPGME 関数を使用してキーサーバー上のキーを検索する方法がわかりません。
何か案が?
encryption - gpgme が 64 ビット debian で暗号化に失敗する
gpgme でトレースするのに少し苦労する問題に直面しています。以下に貼り付けた簡単なテストプログラム(私が見つけた別の簡単な例から始めます)でそれを再現しました。これは 32 ビットの debian ベースのシステムでは機能しますが、64 ビットのシステムでは失敗します。特に 64 ビットの場合、正常に読み取りと復号化を行うことができます (例には示されていません) が、暗号化で不可解なエラーが発生します。
libgpgme のバージョンも上に表示されています。
これは の出力でuname
、64 ビット システムで実行していることを示しています。
はい、私が最初にしたことは、定義していることを確認するために広範囲に及ぶことでした_FILE_OFFSET_BITS=64
。また、実際にサイズが8であることも確認しましたoff_t
。これがコンパイル方法です。
そして最後に、テストプログラムは次のとおりです。
あなたが私に与えることができるどんな助けにも感謝します! これをデバッグするのに役立つものはまだ見つかりません..
gnupg - gpgme を使用してサーバーからキーをインポートする
GPGME を使用してキーサーバーからキーをインポートしようとしています。ブラウザでサーバーにアクセスするとキーが表示されるので、キーが存在することは確かです。私はマニュアルに従って、これを作成しました:
キーリング ディレクトリは最初に構成されます。
そのディレクトリには、サーバーの URL を指定する「keyserver」エントリを含む gpg.conf ファイルが含まれています。グローバル gpg.conf にも、同じ URL を持つ同じディレクティブがあります。
問題は、「見つからない」ことを意味する「ファイルの終わり」というエラーでインポートが失敗することです。私が渡す ID は 0x で始まる 8 文字です。これは、さまざまな形式で問題が発生する可能性があると聞いたためです。このサイトを閲覧すると、GPGME を使用してキーサーバーで公開鍵を検索する関連の質問が見つかりましたが、これらの機能がどのように使用されることになっているのかわかりません。また、マニュアルにも記載されていません。
助けてくれてありがとう。
python - GPGME で鍵を生成するときに gpg-agent にパスフレーズを要求させるにはどうすればよいですか?
私は pygpgme を使用してキーを生成していますが、これは正常に機能しますが、次のように gpgme にパスフレーズを提供する必要があります。
セキュリティ上の理由から、私はパスフレーズを決して知らず、gpg-agent がユーザーにダイアログを提供できるようにしたいと考えています。
pygpgme で復号化しているとき、または gpg コマンド ライン ツールでキーを生成しているときに、期待どおりにパスフレーズ ダイアログが表示されます。
サブプロセスで gpg コマンドを使用するのが 1 つの解決策ですが、もっと良い方法があるのではないかと思います。
ruby-on-rails - GPGME: Rails サーバーでの自動復号化のベスト プラクティス
次の動作を実装できるようにしたいと思います。
管理者は、運用環境で Rails サーバーを起動するときに、GPG 運用キーへのパスフレーズを求められる必要があります。
パスフレーズは RAM 以外の場所に保存しないでください
復号化機能は、rake タスクまたは Rails コンソールでは使用できません。
Railsサーバーが実行されている同じユーザーによって起動されたプロセスはコンテンツを復号化できるため、gpg-agentは問題外のようです。
パスフレーズを要求する GPGME クラスのパスフレーズ コールバックが最善の解決策のようです (ただし、stdin を取得する /etc/init.d/unicorn の start-stop-daemon ラッパーのため、実装が難しい)。
何か不足していますか?このようなセットアップにセキュリティホールはありますか? より良い解決策は何ですか?どうもありがとう。
c - サブメッセージを gpgme で復号化するにはどうすればよいですか?
最初のサブメッセージを復号化し、次に 2 番目のメッセージを復号化する可能性はありますか?
たとえば、メッセージが非常に大きく、メッセージ全体をメモリに保持したくない場合!?
マニュアルやグーグルで何も見つかりません!