問題タブ [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.
python - openssl と比較した m2crypto の間違った動作
着信 smime メッセージが有効であること (つまり、会社の秘密鍵で暗号化され、特定の公開鍵セットに署名されていること) を検証する一連の bash スクリプトを統合し、場合によっては書き直す必要があります。
この一連の bash は、おそらく M2Crypto の助けを借りて Python で作成された小さなアプリケーションに置き換えられます。
これまでのところ、復号化の部分はうまくいっていますが、署名の検証に問題があります。
この単一のbash行を置き換えるpythonコードを書く必要があります
to_verify.txt の内容は、「通常の」マルチパート/署名付き p7 であり、署名が添付されているかどうかに関係なく使用できます。
前のコマンドは、検証が成功すると 0 で終了し、smime エンベロープからコンテンツを抽出します。
ここで、m2crypto の例から取った Python に戻ります。
うーん....驚き、わかりました
Openssl はこのファイルを正しく読み取り、抽出し、検証していますが、m2crypto はコンテンツがないことをどのように報告できますか?
バンプ: 誰もこれに興味がありませんか?
python - サーバー証明書の検証を httplib.HTTPSConnection に追加する
httplib.HTTPSConnection
自動サーバー証明書チェックを実行しないことがわかりました。問題を理解している限り、ここで説明されているように、このクラスをサブクラス化するなどして、その機能を手動で追加する必要があります。
私は Python2.4.5 を使用しており、特定の状況下ではアップグレードできないため、ssl
モジュールが Py2.6 まで導入されていないため、このブログ投稿に記載されている回避策を使用できません。
ssl
を使用して、モジュールの使用を回避しようとしていますM2Crypto
。これを行うための有望なアプローチは、このブログ投稿(「クライアント」セクション) に含まれています。httplib.HTTPSConnection.connect
しかし、そのアプローチを使用して適切にオーバーライドすることはまだできていません。
アイデアやヒントはありますか?
python - M2Crypto: DSA 署名の検証
Python/M2Crypto を使用して DSA 署名を検証できません。署名は、標準の java.security.Signature クラスを使用して Java で生成され、Sun の暗号化プロバイダと SHA1withDSA アルゴリズムが指定されています。
シェル出力は次のとおりです。
署名値は私には問題ないように思えます。適切な ASN.1 でエンコードされた 2 つの整数のシーケンスのように見えます (0x302c は 44 バイトのシーケンスを示し、0x0214 は 20 バイトの整数を示します)。これは DSA 署名の標準的なエンコードです。
DSA_pub.verify_asn1 メソッドは文書化されていないため、文書化された DSA_pub.verify メソッドも使用してみましたが、まだ葉巻はありません:
ドキュメントには、すべてのパラメータは「バイト文字列」である必要があると記載されていますが、verify メソッドは何らかの方法でエンコード エラーを発生させます。潜在的なエンディアンの問題をチェックするために、r と s を逆にしてみましたが、それは役に立ちませんでした。
私は何を間違っていますか?
python - M2Cryptoラッパーを使用してPythonで3DES暗号化する方法は?
M2Cryptoを使用するPythonで、RSA暗号化を使用するハードウェアデバイスの動作テストがあります。次に、3DES暗号化を使用する同様のデバイスをテストする必要があります。しかし、M2Cryptoを使用してトリプルDES暗号化を行う方法がわかりません。
私はそれがこのチャートから可能であるべきだと知っています。しかし、残念ながら、私が見つけたM2Cryptoのドキュメントは大雑把です。(http://chandlerproject.org/のホームページはChandlerと一緒になくなったようです。)
3DESと「OpenSSLAPI」を検索したところ、復号化のためにCコードを取得するのが難しいため、M2Crypto.EVP.Cipherを使用する必要があるように見えました。しかし、DESに使用した例は見つかりませんでした。私が見つけた最も近いものは、AES暗号化にそれを使用することに関するこのブログ投稿です。の正しい引数を理解する必要があるようM2Crypto.EVP.Cipher.__init__()
です。掘り下げていきますが、この質問を投稿する価値があると思いました。
m2crypto - m2crypto で CA 証明書を使用して x.509 証明書に適切に署名するにはどうすればよいですか?
Twisted Web
とで実行される内部インフラストラクチャ用の自動化された CA に取り組んでいM2Crypto
ます。CA にはそのキーがあります。他のマシンは、CSR を本文として GET 要求を送信できます。検証が行われたと仮定すると、Helios
サーバーは対応する証明書を使用して本文で応答する必要があります。
アプリケーションの完全なソース ファイルとテスト ファイルは次の場所にあります。
証明書の検証を除いて、現在すべてが機能しています (証明書応答による CSR 要求)。
OpenSSL を使用してシェルからテスト証明書に署名すると、正しく検証されます。Helios の署名コードに問題があるはずです。
これは関連する質問です:
残念ながら、前の質問からリンクされたリソースはどちらも、CA と最終的な証明書に同じキー ペアを使用しています。これは明らかな理由からばかげており、これらの例は実際の PKI にはまったく役に立ちません。
python - M2Crypto を使用して Python 2.4 で SHA-256 ハッシュを生成する
M2Crypto を使用して SHA-256 ハッシュを生成することは可能ですか? Python 2.4 の SHA モジュールは 256 をサポートしていないため、PyCrypto を使い始めましたが、PyCrypto が PKCS#5 (プロジェクトの他の場所で必要) をサポートしていないことがわかりました。その結果、M2Crypto に切り替えました。私の PyCrypto SHA-256 呼び出しを同等の M2Crypto に置き換えたい... 単体テストを調べてみましたが、何も表示されませんでした。
python - Pythons M2Crypto は、証明書をロードするときに ssl_ctx_load_verify_locations で例外を発生させます
M2Crypto は、SSL CA 証明書をロードするときに TypeError を発生させます。Django モデルのインスタンスから SSL 証明書のパスを取得しています。Django モデルから証明書のパスを取得していたため、コードは完全に機能しました。
私のコード:
レイズ:
ただし、このコードは正常に動作します
python - m2crypto:python 2.7との互換性と使用するOpenSSLのバージョンは?
しばらくの間、Python 2.6 for Windows(32ビット)でM2cryptoを使用しており、大きな成功を収めています。ユーザー提供のセットアップの1つを使用して、開発環境にM2cryptoをインストールしました。Python 2.7に移行したいのですが、m2crypto用にビルド済みのPython2.7セットアップがないことに気づきました。
質問:
M2crypto0.20.2はPython2.7と互換性がありますか、それともこのライブラリを引き続き使用する場合はPython 2.6のままにする必要がありますか?
Python2.7環境にM2Crypto0.20.2をインストールするためのユーザービルドのセットアップを持っている人はいますか?(M2cryptoサイトには2.7の投稿はなく、googleも空になります)
Python 2.6 M2Cryptoファイル(lib \ site-packages \ M2Cryptoの下)をPython 2.7セットアップの同じ場所にコピーして、正式なインストールプロセスを回避できますか?
M2crypto 0.20.2ではどのバージョンのOpenSLLを使用する必要がありますか?OpenSSL Webサイトを確認したところ、0.9.8と1.0.0aの2つのバージョンのOpenSSLから選択できます。
ありがとう、マルコム
python - Python 2.7forWindowsと互換性のあるAES暗号化ライブラリ
Python 2.7 for Windowsと互換性のあるAES暗号化ライブラリに関する推奨事項はありますか?
以前はPython2.6でm2cryptoを使用していましたが、Python 2.7用のm2cryptoのバージョンはなく、ソースからバージョンをビルドする試みは失敗しました。
ありがとう、マルコム
python - m2crypto を使用して FTPS サーバーにファイルをアップロードする方法
FTP サーバーにファイルをアップロードするために ftps を使用しようとしています。ログインは簡単で機能します:
ディレクトリに降りるだけでなく、
ただし、ディレクトリの内容を取得しようとすると、次のようになります。
522 エラーが発生します。
TLS はハンドシェイクのみに使用され、転送には使用されないようです。
storbinary()
M2Cryptoを使用して転送を保護する方法 (を使用してファイルをアップロードしたい) はありますか? そうでない場合、他の選択肢は何ですか?