問題タブ [rsa]
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.
cryptography - RSA 公開鍵ファイル タイプの検出
内容が次の構造を持つ RSA pubkey.dat (それが何であるかはほとんど明らかです) を取得しました。
- ASN1 約 1024 ビットの整数 (モジュラス)
- ASN1 整数 (指数)
- 256 バイトのブロブ (署名)
「----begin---」などのタグはありません。その中の純粋な16進値。
DER/PEM/etc のようにフォーマットを識別する方法はありますか?
(または、私がチェックする公開標準構造名と一致する場合)
M2cryptがロードできないため、PEMではないようです。
前もって感謝します。
php - PHP ライセンス ジェネレーターの保護はペイパルの IPN と競合しますか?
Paypal通知(IPN)が発生したときにライセンスキーを自動的に生成できるように、ライセンスキージェネレーターをWebサイトに統合します...しかし、私の質問は、phpを保護するための最良の方法は何ですかファイル (キーの生成に使用されるメソッドを含む) とプライベート (.pem ファイル)?
前もって感謝します!
c# - RSAを使用してiPhoneで暗号化されたものをC#で復号化するのに問題がある
私はこれまで2日間を費やし、自由に使えるすべてのソースを調べてきたので、これが最後の手段です。
公開鍵をiPhoneのキーチェーンに保存したX509証明書があります(現時点ではシミュレーターのみ)。ASP.NET側では、秘密鍵を使用して証明書ストアに証明書を取得しています。iPhoneで文字列を暗号化し、サーバーで復号化すると、CryptographicException
「不正なデータ」が表示されます。Array.Reverse
ロングショットのページで提案されたものを試しましたRSACryptoServiceProvider
が、役に立ちませんでした。
両側のbase-64ストリングを比較しましたが、それらは同じです。デコード後の生のバイト配列を比較しましたが、それらも同じです。サーバーで公開鍵を使用して暗号化すると、バイト配列はiPhoneのバージョンとは異なり、秘密鍵を使用して簡単に復号化できます。生のプレーンテキスト文字列は115文字なので、2048ビットキーの256バイトの制限内です。
iPhoneの暗号化方法は次のとおりです(CryptoExerciseサンプルアプリのwrapSymmetricKey
方法とほぼ同じです)。
そして、これがサーバー側のC#復号化方法です。
私の疑いは、プラットフォーム間にいくつかのエンコーディングの問題があったことでした。1つはビッグエンディアンで、もう1つはリトルエンディアンであることは知っていますが、どちらがどちらであるか、またはどのように違いを克服するかについては十分にわかりません。Mac OS X、Windows、iPhoneはすべてリトルエンディアンなので、問題はありません。
新しい理論:OAEPパディングブール値をfalseに設定すると、デフォルトでPKCS#11.5パディングになります。、、、、およびの定義どうやら、PKCS#11.5SecKey
のみがあります。おそらく、MicrosoftのPKCS#1 1.5!= AppleのPKCS1であるため、パディングは暗号化のバイナリ出力に影響を与えています。に設定して使用してみましたが、それでも動作しませんでした。SecPadding
PKCS1
PKCS1MD2
PKCS1MD5
PKCS1SHA1
kSecPaddingPKCS1
fOAEP
false
kSecPaddingPKCS1
と同等です。理論の設計図に戻る…
その他の新たに試みられた理論:
- iPhoneの証明書(.cerファイル)は、サーバーのPKCS#12バンドル(.pfxファイル)とまったく同じではないため、機能しません。別の証明書ストアに.cerファイルをインストールし、サーバーで暗号化された文字列を正常にラウンドトリップしました。
- base-64への変換とサーバーへのPOSTの動作により、同じクラスのラウンドトリップには存在しない奇妙な結果が生じたため、最初にURLEncoding / Decodingを試し、次にiPhoneから生のバイナリを投稿し、それが等しいことを確認して、同じ不良データを取得しました;
- 元の文字列は125バイトだったので、UTF-8(ロングショット)で切り捨てられる可能性があると思ったので、44バイトの文字列に切り詰めましたが結果はありませんでした。
- System.Cryptographyライブラリを振り返って、適切なクラスを使用していることを確認し、 `RSAPKCS1KeyExchangeDeformatter`を発見し、新しい見込み客に大喜びし、まったく同じように動作したときに落胆しました。
成功!
iPhoneシミュレーターのキーチェーンに、いわば水が濁っていたいくつかのがらくたがあったことが判明しました。でキーチェーンDBを削除して~/Library/Application Support/iPhone Simulator/User/Library/Keychains/keychain-2-debug.db
再作成しましたが、正常に機能しました。よろしくお願いします。それは単純なものでしたが、自明ではなかったでしょう。(私が学んだ2つのこと:1)シミュレーターからアプリをアンインストールしても、キーチェーンエントリがクリアされないこと、および2)定期的に完全に新しく開始すること。)
注:キーチェーンファイルの一般的なパスは、iOSのバージョンによって異なります:〜/ Library / Application Support / iPhone Simulator / [version] /Library/Keychains/keychain-2-debug.db例:〜/ Library / Application Support / iPhone Simulator / 4.3 / Library / Keychains / keychain-2-debug.db
python - OpenSSL 生成キーを使用した Python RSA 復号化
Python ライブラリを使用して OpenSSL RSA 秘密/公開キーを (パスフレーズを使用して) インポートし、それを使用してメッセージを復号化する最も簡単な方法を知っている人はいますか?
ezPyCrypto を調べましたが、OpenSSL RSA キーを認識できないようです。次のように importKey を使用してキーをインポートしようとしました。
私の場合の myKey は、文字列として表される OpenSSL RSA 公開/秘密鍵ペアです。
これは次のように言います:
バインドされていないメソッド importKey() は、最初の引数としてキー インスタンスを指定して呼び出す必要があります (代わりに str インスタンスを取得)
APIドキュメントには次のように書かれています:
importKey(self, キーストリング, **kwds)
誰かが ezPyCrypto を使用してキーを読み取る方法を提案できますか? 私も試しました:
しかし、これは次のように言います:
ezPyCrypto.CryptoKeyError: 無効なキーをインポートしようとしたか、パスフレーズが正しくありません
ドキュメントへのリンクはこちら:
http://www.freenet.org.nz/ezPyCrypto/detail/index.html
編集:これに関する最新情報です。RSA キーを正常にインポートしましたが、eqPyCrypto が AES ブロック暗号をサポートしていないため、復号化に実際に問題がありました。人々が知るように。ncrypt ( http://tachyon.in/ncrypt/ )を使用して、やりたいことがうまくできました。最小要件を超えるバージョンがインストールされていたにもかかわらず、SWIG と OpenSSL のコンパイルの問題により、M2Crypto でいくつかのコンパイルの問題が発生しました。現時点では、Python の暗号化/復号化フレームワークは地雷原のようです。ほむら、助けてくれてありがとう。
python - Pythonによる暗号化
使用したい場合:
では、どのようにしてキーを取得しますか?レシピは何を印刷しますか?
サーバー(オープンキーサーバー)から受信者の公開鍵を取得する必要があります。そのためには、最初にサーバーに鍵を保存する必要があります。
encryption - 本当に大きな素数を生成する
私は遊んでいて、RSAの実装を書き込もうとしています。問題は、キーペアの生成に関係する大量の素数の生成に固執していることです。誰かが私に巨大な素数/確率的素数を生成するための速い方法を教えてもらえますか?
c# - ホストされた環境でRSACryptoServiceProviderまたはRSAを使用する
Webアプリが秘密鍵を使用してxmlドキュメントまたはデータに署名し、公開鍵を使用してアプリケーションで検証される公開/秘密暗号化を使用したいのですが、
他に考えられる回避策がない場合、.net 2.0でホストされている環境でRSACryptoServiceProviderを使用することは可能ですか?
.net - .net RSACryptoServiceProviderを使用して秘密鍵で暗号化することは可能ですか?
RSACryptoServiceProviderは公開鍵で暗号化してから、秘密鍵で復号化できることを知っています。
RSACryptoServiceProviderを使用して、秘密鍵で暗号化し、公開鍵で復号化することは可能ですか?
c# - RsaProtectedConfigurationProvider を使用した ProtectSection キーはどこに行くのですか?
System.Configuration を使用して、カスタム構成セクション vis:- でいくつかのパスワードを暗号化および保護しています。
これは正常に機能しているように見えますが、ドキュメントに追加情報が必要です。
キーはどこに保管されますか?
キーの長さは?