問題タブ [php-openssl]
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.
php - PHPで秘密鍵と公開鍵を使用して大きな文字列を暗号化および復号化するにはどうすればよいですか?
公開鍵を使用して大きな文字列を暗号化し、ファイルに保存したいと考えています。その後、ファイルの内容を読み取り、秘密鍵を使用して復号化します。どうやってやるの。PHPで利用可能なデフォルトの関数またはコードはありますか.
php - openssl_pkcs7_verify はファイルポインタを受け入れることができますか?
私はopenssl_pkcs7_verify()
( http://www.php.net/manual/en/function.openssl-pkcs7-verify.php ) を使用して、smime (p7s) 情報で署名されたメール コンテンツを検証しています。この関数は私の目的には便利ですが、メモリ ラッパー (php://memory または php://temp) に保存されているコンテンツで使用したいのですが、openssl_pkcs7_verify()
ファイル パスのみをパラメーターとして受け入れ、ファイル ポインター (から取得できるものなど) は受け入れません。 fopen('php://memory', ...) )、私はこのコードを使用しようとしました:
しかし、明らかに $filename
が含まれており、呼び出しphp://memory
に関連するメモリへの特定の参照( によって参照されるメモリではなく) ではないため、コードはパラメーター 3 で渡されたパスに書き込むことができないというエラーを生成します。一時ファイルを使用する必要がありますが、ファイル コンテンツではなくメモリ コンテンツの使用が大幅に改善され、I/O レイテンシやその他の問題が回避されます。fopen
$filep
openssl_pkcs7_verify()
php - PHP の OpenSSL 拡張機能を使用して CA を検証するには?
コマンド ラインで、次のように入力して、証明書が信頼できる CA によって発行されたことを確認できます。
openssl 検証 mycert.pem
PHP の OpenSSL ライブラリで同じことを行うにはどうすればよいですか? PHP には、openssl_verify
多くの追加パラメータを取る関数があります。
対応する PHP 関数を使用して単純なコマンド ライン操作を繰り返すにはどうすればよいですか?
php - PHP サーバー側の IAB 検証 openssl_verify が常に 0 を返す
IAB v3 トランザクションを検証するために、次の関数 (サーバー側の php) を使用しています。
私はAndroidアプリから渡しています:
私が渡している署名と何か関係があるのではないかと感じています。エンコードしないとエラーが発生するため、次の Android メソッドを使用してエンコードしています。
URLを渡しています
サーバーに:
常に false ($result=0) を返すように見えますが、その理由は誰にもわかりません。署名をエンコードせずに渡すにはどうすればよいですか、またはどのエンコードを使用すればよいですか?
php - PHP での secp256k1 (ECDSA) の実装 (ビットコイン用)
熱心な支持者および/またはクローザーへ: これが SO のトピック外であると思われる場合は、この質問がより適切な他の StackExchange サイトを教えてください。
PHPでECDSA曲線secp256k1を実装するには?
というか、解決策はありますか?含まれる特殊なクラス - すでに完了していますか?
オープンソースのライブラリ、クラス、その他の言語 (JavaScript、Python など) で利用できるものがたくさんあることがわかりますが、PHP ソリューションの一部またはすべてをグーグルで検索したところ、何もありませんでした。.
これは私のビットコイン プロジェクトのためのもので、秘密鍵から公開鍵を生成する方法が必要です...そして、最終的なビットコイン アドレスを生成したいと考えています。
私は秘密鍵を生成する方法を知っており (ランダムかどうかは気にしないでください - ここでは問題ではありません)、256 ビットの 16 進数と WIF 表記の両方を持っています。しかし、次のステップ:公開鍵を考え出し、最終的なビットコイン アドレスを取得することは、私にとって一種の問題です。私は文字通り暗号のようなバックグラウンドがなく、解決策が secp256k1 を何らかの形で利用することであることを知っているからです。
これは私がこれまでに持っているものです:
tl;dr PHP でこれを実装する方法は? (..そしてその前にprivKey->pubKey変換)
http://i.stack.imgur.com/U2neg.png
私は知っている...
- http://github.com/mikegogulski/bitcoin-php ..これはかなりきちんとしていて、RPC 経由でbitcoindを制御するための便利なメソッドと方法がたくさんありますが、残念ながらprivKey->pubKeyメカニズムを処理できる純粋な PHP メソッドがありません。
- http://bitcoinphp.com/ ..そこには見つかりませんでした。
- 残念ながら、OPENSSL-PHP ドキュメントで言及されている唯一のダイジェスト メソッドは「ecdsa-with-SHA1」です。間違っている場合は修正してください。ただし、「ecdsa-with-SHA256」または何かが必要です。そんな(?)
- アルゴリズムをbitcoinjs.jsから変換しようとさえしましたが、私の暗号知識では要点を抽出できませんでした。私は単にそれらの曲線とそのビット操作、およびその他の不気味なものを理解していません。
PURE PHP ソリューションを探しています。bitcoind を実行しているシェルを使用してから、JSON を解析してキーペアを探しているわけではありません。
PHP でこれを完全に処理できるコードがないのはなぜですか? それともありますか?:)
php4 - openssl_sign と PHP 4 の異なるメッセージに対する同一の署名
openssl_sign 経由で署名されたデータを送信する必要がある php 4 でアプリケーションを維持する必要があります。問題は、同じサイズの異なるデータの場合、署名が常に同じであることです。例えば。このコード:
これを出力します:
uANYD6qKuvlcyK2svarB0ESPO7qLa75cEIhCmjkTF23cwveSE+Mxuhsl7JKjOEOPf7v8mCoTLmdlm/2RDD0Nabdpi+5Ez8Di8dFNpXtMVRByJvewOOGxTgYt/1XPIqe+dvLunkqtl8dHkRhtzuBHay1suco53YbsdqnkkY=
uANYD6qKuvlcyK2svarB0ESPO7qLa75cEIhCmjkTF23cwveSE+Mxuhsl7JKjOEOPf7v8mCoTLmdlm/2RDD0Nabdpi+5Ez8Di8dFNpXtMVRByJvewOOGxTgYt/1XPIqe+dvLunkqtl8dHkRhtzuBHay1suco53YbsdqnkkY=
この問題の理由を知っている人はいますか?
php - RSA 公開鍵を x509 公開鍵に変換することは可能ですか?
私は次の公開鍵を持っています:
PHP はその公開鍵では動作しません。PHPで使用できるようにするには、x509形式にする必要があることがわかりました。このキーを x509 形式に変換できますか? 私が理解しているように、結果は次のようになります。
UPD: 公開鍵だけでなく、x509 証明書を生成する必要がありました。
javascript - JavaScript で文字列を暗号化し、RSA 手法を使用して PHP で復号化する
JavaScript でテキストを暗号化し、それを PHP に送信して (Ajax などで)、そこで復号化して保存しようとしています (MySQL などで)。
これまでの私のコードは次のとおりです。
JavaScript の場合:
暗号化にこのライブラリを使用しています: http://travistidwell.com/blog/2013/02/15/a-better-library-for-javascript-asymmetrical-rsa-encryption/
PHP の場合:
これで、PHP からの回答は毎回空になります。これを機能させるためのアイデアはありますか?
お時間をいただきありがとうございます!