問題タブ [m2crypto]

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

security - web2pyで保存されたデータを暗号化する最良の方法は何ですか?

web2py に保存されているデータ、より正確にはパスワードを暗号化する必要があります。

これは認証に関するものではなく、KeePass のようなアプリケーションに関連するものです。

私はそれが web2py に含まれているのを見てきましたが、M2Secretはそれを簡単に行うことができます。M2Secret では、これを使用できます。

しかし、アプライアンスに M2Crypto ライブラリを含める必要があります。

すでにweb2pyに含まれているPyMeでこれを行う方法はありますか?

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

python - シンボルが見つかりません: _PEM_read_bio_EC_PUBKEY openssl 0.9.8x または 1.0.0x に対してコンパイルされた場合の M2Crypto-0.20.2 のインポート

M2Crypto が MAC OS X 10.4.11 上の最新の openssl バージョン (0.9.8x 以降) に対してコンパイルされている場合、Python 2.6.5 で M2Crypto バージョン 0.20.2 をインポートすると失敗します。

コンパイルはこれらの openssl バージョンに対して機能しますが、シンボルが見つからないため、M2Crypto はインポートに失敗します: _PEM_read_bio_EC_PUBKEY

Python 2.6.5 (r265:79359、2010 年 3 月 24 日、01:32:55) [GCC 4.0.1 (Apple Inc. build 5493)] ダーウィンで「help」、「copyright」、「credits」、または「license」と入力詳細については。

import M2Crypto トレースバック (最新の呼び出しは最後): ファイル ""、1 行目、ファイル "M2Crypto/ init .py"、22 行目、インポート _ m2crypto の ImportError: dlopen(M2Crypto/ _m2crypto.so, 2): シンボルが見つかりません: _PEM_read_bio_EC_PUBKEY 参照元: M2Crypto/__m2crypto.so 予期される: 動的ルックアップ

M2Crypto を openssl バージョン 0.9.7l または 0.9.7m に対してコンパイルすると、問題なく動作します。

なにか提案を?

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

python - Python M2crypto エラー

crdaクロス プラットフォーム (ARM) でエージェント モジュールをビルドしようとしています。同じものをビルドするには、入力モジュールの 1 つがm2crypto共有オブジェクト ファイルです。クロスコンパイルに成功し、m2crypto.soファイルが生成されました。

コマンドを実行するmakeと、Python スクリプトが内部的に呼び出され、m2crypto.soモジュールを入力として受け取り、openssl(RSA) キーを生成する必要があります。

__m2crypto.so私が直面している問題は、python スクリプトがファイルからモジュールをインポートできなかったことです。私はpython 2.4バージョンを使用しています。そして、私が得ているエラーは

m2cryptoホストマシン(x86プラットフォーム)用にコンパイルしcrdaて同じものをビルドしようとすると、pythonはm2crypto.soファイルをインポートできます。

別のプラットフォーム (ARM) で正常にビルドする方法に関する提案。

前もって感謝します、ラムズch

0 投票する
5 に答える
16420 参照

python - CentOS に M2Crypto をインストールする

ソースからコンパイルして CentOS に M2Crypto をインストールしようとしています。私は python setup.py ビルドを行っていますが、次のエラーが発生します。

お知らせ下さい ...

プラサンナ

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

python - PythonでSSL証明書を確認するにはどうすればよいですか?

証明書がカスタムCAによって署名されていることを確認する必要があります。OpenSSLコマンドラインユーティリティを使用すると、これを行うのは簡単です。

しかし、Pythonでも同じことをする必要があり、コマンドラインユーティリティを呼び出したくありません。私の知る限り、M2CryptoはOpenSSLの「最も完全な」Pythonラッパーですが、コマンドラインユーティリティの機能を実現する方法がわかりません。

Cコードでこれと同じタスクを実行する方法についてこの質問を参照すると、私は約半分を得ることができました。 私が選択した変数名は、opensslverifyコマンドラインユーティリティのソースコードで使用されているものと同じです。を参照してくださいopenssl-xxx/apps/verify.c

ですから、途中ですが、実際に検証を行うことができないようです。私は何かが足りないのですか?M2Cryptoから使用する必要のある他の関数はありますか?OpenSSLの完全に異なるPythonラッパーを探す必要がありますか?Pythonでこのタスクを実行するにはどうすればよいですか!?!?

証明書を使用してファイルを暗号化/復号化していることに注意してください。SSL接続が確立されていないため、SSL接続ベースのピア証明書検証(すでに回答済み)の使用には関心がありません。

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

python - M2CryptoのCSR拡張スタックへのアクセス

拡張スタックが追加された証明書署名要求があります。この要求に基づいて証明書を作成するときは、そのスタックにアクセスして、最終的な証明書の作成に使用できるようにしたいと思います。

ただし、拡張機能( 、など)にM2Crypto.X509.X509アクセスするためのヘルパーは多数ありますが、拡張機能を追加するためのメンバーのみを提供しているように見えますが、特定のオブジェクトに既に関連付けられている拡張機能を検査する方法はありません。get_extget_ext_atM2Crypto.X509.Request

ここで何かが足りませんか?

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

python - OpenSSLとM2Cryptoを静的にリンクする

M2Cryptoは標準を使用します

モジュールをビルドしてインストールする手順。distutils / setuptoolsを使用すると多少の調整が可能ですが、OpenSSLをモジュールに静的にリンクする方法が見つからないようです。この変更を行う機能はないようです。

静的にリンクされたOpenSSLを使用してM2Cryptoを構築する方法はありますか?(それが唯一の方法である場合、私は手で保釈しsetup.pyてそれを行うつもりです。私が行く前に誰かがこれに取り組んだかどうかを尋ねて、すでに解決された問題を解決するのに何時間も費やしたいと思います)。

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

python - SWIGビルドデバッグツール/ヒント

WindowsでPython2.5.4用のOpenSSL1.0.0c(または0.9.7m)を使用してM2Crypto 0.21.1をビルドしようとしていますが、SWIG私に対して陰謀を企てています。SWIG2.0.1とSWIG1.3.40の両方を試しましたが、同じエラーが発生します。

OpenSSL / SWIGのすべての順列は、このエラーを示しています。私は手で小枝を呼び出して、私ができるすべての「余分な冗長」オプションを渡すことを試みましたが、それらのどれも有益に近いものではありません。この問題の本当の原因を見つけるために他に何ができますか?

(このサイトにはM2Cryptoの.iファイルを編集するための提案がありますが、0.21.1にはすでに提案された変更が統合されています)

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

openssl - crypto++ を使用して、openssl で生成されたデータ署名を検証します

Pythonで実行されているサーバーがあり、m2cryptoを使用してメッセージsha256ダイジェストに署名しています。openssl CLIによって生成された公開および秘密RSAキーを使用しています。サーバー側では、すべてが問題ありません
Pythonコード:

privateKey = M2Crypto.RSA.load_key (sys.argv[2])
signedDigest = privateKey.sign (ダイジェスト、「sha256」)

署名が適切であることを再確認します。

pubKey = M2Crypto.RSA.load_pub_key("key.pub.pem")
if pubKey.verify(digest, signedDigest, 'sha256') (など....)

署名済みの sha256 ダイジェストをファイルに保存し、元のメッセージと共にクライアントに送信します。
クライアント側では、c++ vc6 で実行され、署名済みの sha256 ダイジェスト (バイナリとして) と署名済みのメッセージを読み込みます。ここでの目的は、署名付きの sha256 と共にメッセージを検証することです。静的リンクとして cryptopp を使用していますが、sha256 を計算し、Python の sha256 と比較して同じ結果を得ることができるため、正常に動作することがわかっています。コードは次のとおりです。

RSA::公開鍵 pubKey;
pubKey.Load( FileSource(LicenseControl::pubKeyPath, true));
RSASS< PKCS1v15, SHA >::検証者 検証者(pubKey);
//shaDigest は新しく計算された sha256、signatureByte はサーバーから受信したメッセージの署名です。
result = verifier.VerifyMessage( shaDigest, CryptoPP::SHA256::DIGESTSIZE, signatureByte, 512);

これはコンパイルして実行しますが、常に false を返します。署名が有効であることを確認するために、openssl CLI を直接使用して検証しました (m2crypto python ラッパー経由ではありません)。

openssl dgst -sha256 -verify key.pub.pem -signature sign original_file
検証済み OK

これにより、署名された sha256 ダイジェストが問題なく、公開鍵を使用してメッセージを正常に検証できることが確認されます。DER および PEM 形式を認識しています (openssl には PEM、cryptop には DER を使用)。したがって、公開鍵は正しいと思います。今私の問題は、暗号化ライブラリを使用して署名を検証する方法です??? 私はドキュメントを読みましたが、何日も経った後でも、まだ中国語のように見えます. 私は次のようなことを試しました

RSASS< PSSR、SHA >::Verifier verifier(pubKey);

PSSR を使用して Python コードで暗号化しますが、運はありません...署名された sha256 ダイジェストを公開鍵でのみ復号化し、受信ファイルから計算された新しい sha256 ダイジェストと比較することを検討しています。しかし、その単純でさえ、ドキュメントには見つかりませんでした...ベリファイアを適切に使用する方法はありますか?
公開鍵を使用して復号化する方法は? 前の質問が解決できない場合

0 投票する
0 に答える
671 参照

python - AES で使用する強力なワンタイム セッション キーを生成する方法

メッセージの暗号化に M2Crypto の AES を使用していますが、ランダムなセッション キーを生成する方法とその長さについて混乱しています。M2crypto はランダムキーを生成する機能を提供していますか?