問題タブ [phpseclib]

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 投票する
2 に答える
1041 参照

php - phpseclib をシリアライズするには?

ajax からいくつかの php ページを読み込んでいて、何度も再接続したくないので、phpseclib 接続をシリアル化しようとしています。

ページ 1 - 最初に SSH2 を定義する

ページ 2 - unserialize を使用して保存されたセッションを取得する

ログイン情報も入れたいので、$_SESSION['obj']そのphpページにいるときはいつでも..$ssh = unserialize($_SESSION['obj']);$ssh->exec('pwd')

回避策はありますか、またはそのPHPページにいるときは常にNet/SSH2.phpに接続/ログインする必要がありますか???

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

php - phpseclib はキーの作成中に openssl を使用していますか?

私はphpseclibがopensslを必要としないという印象を受けましたが、次のコードを試してみると...

openssl 関数を使用している場合、次のエラーが表示されます。混乱している。

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

c# - PHP は、クライアントの公開鍵を使用してクライアントの署名を検証します

こんにちは、私は REST サービスを構築しており、現在 PHP を使用して記述されている REST サーバーであるこのプロジェクトから、クライアントとサーバーの両方を開発するための言語制限をなくすことを計画しています。

セキュリティのために、ハッシュ コードとクライアント アプリの署名を検証しています。現在、ハッシュは成功していますが、署名については常に失敗しています。

すべてのクライアントには独自の秘密鍵があり、サーバーには署名を検証するための公開鍵があり、サーバーへの各要求は署名を送信します。クライアントが Web サーバーの場合、すべてのユーザーに対して 1 つの秘密鍵しかありません。クライアントがネイティブ アプリ ( C# ) の場合、インストールされた各クライアント アプリには一意の秘密キーがあります。

PHP クライアントから PHP REST サーバーへ -> ハッシュの計算 OK、クライアント署名の検証 OK C# クライアント (winapp) から PHP REST サーバー -> ハッシュの計算 OK、クライアント署名の検証失敗

将来的には、JAVA とその逆を試してみたいと思っています。

自己署名証明書を作成する簡単な方法を使用します

C#を使用してデータに署名するコードは次のとおりです

GET メソッドを使用して PHP REST サーバーに送信する署名 (base64) を返します。PHPサーバーでは、ハッシュを再計算して検証しますが、1を返すことはありません。現在、すべてのキーを手動でサーバーにコピーしています。

結果のいずれも「検証済み」または「1」を返しません

C# がデータに署名するとき、データの形式が byte[] であるためでしょうか? それとも他の理由がありますか?

Linux php ですべてのコードを実行しています - apache2 c# を使用 - monodevelop を使用


openssl_pkcs12_read を使用して読んだ後の私の pk12 アレイは、ここからダウンロードできます。

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

php - phpseclibを使用してphpサーバー->someOtherサーバーからファイルをアップロードするにはどうすればよいですか?

私は自分のphpサーバーから他のサーバーにファイルをアップロードしようとしています(私の職場はsshトラフィックをブロックするのに十分なほど足が不自由です)

とにかく、これが私がやろうとしていることです:(at:/public_html/manage.php

つまり、ファイル「1_yum_stuff.txt」は私のphpサーバーの/ public_html /フォルダーにあり、sftpはファイルを移動できません。

とにかく、これはphpseclibのsftpモジュールを使用する正しい方法ですか?(例えば置く?)

ありがとう:) !

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

php - PHPで大きなファイルをダウンロードするとサーバーが失敗する

PHPSecLibのSFTP関数を使用して、FTPサーバーからファイルをダウンロードしています。

この線

ファイルが最大200MBの場合は機能しますが、300MBの場合、ブラウザは「Firefoxは[download.php]でファイルを見つけることができません」と応答します。つまり、リモートファイルのダウンロードに使用するphpファイルが見つからないということです。

最初は、これはphp.iniの設定によるものだと思いましたがmemory_limit、128Mに設定されているか350Mに設定されているかは関係ありません。200MBのファイルは引き続き機能し、300MBのファイルは失敗します。そして、それは10秒後に失敗するのでmax_execution_timemax_input_time犯人ではないようです。何が間違っている可能性がありますか?

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

php - phpseclib を使用して PHP 経由で SSH 画面を作成する

PHP SSHライブラリphpseclibを使用してsshサーバーに画面を作成しようとしているPHPスクリプトがあります。これは、画面を作成するために使用している関数です。

そして、これは私が関数を呼び出す方法です:

この方法で画面を作成できることは知っていますが、php ではリモートで動作しません。ありがとう

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

php - phpseclib を使用して SSH 経由で SSH 画面でコマンドを実行する

SSH を介して切り離された画面を起動する PHP スクリプトがあります。

その画面にいなくても、その画面でコマンドを実行する必要があります。SSHクライアントでテストしたコードがありますが、phpseclib execコマンドで使用しようとすると機能しません。これは機能するコードです:

そして、これはPHPスクリプトにあります:

$ssh->exec("screen -S ".$user." -X stuff \"cd minecraft/servers/".$user."/;sh start.sh $(printf '\r')\"");

コード内の余分な二重引用符をエスケープしようとしました。

PHPでこれを機能させるためにできることはありますか? ありがとう

0 投票する
4 に答える
5134 参照

php - 暗号化PHP、復号化Java

メッセージを暗号化するためのキーペアを生成するPHPのWebサービスと、秘密鍵を取得してメッセージを復号化するJavaのアプリケーションがあります。

phpの場合、私はhttp://phpseclib.sourceforge.net/を使用しており、次の2つのファイルがあります。

keypair.php

encode.php

そしてJavaで私はこのコードを持っています:

私の質問は次のとおりです。

  1. 「RSAキーではありません!」という例外があるのはなぜですか?
  2. このコードを改善するにはどうすればよいですか?私はbase64を使用して、JavaとPHP間のエンコードおよび通信エラーを回避しました。
  3. この概念は正しいですか?つまり、私はそれを正しく使用していますか?
0 投票する
1 に答える
1699 参照

php - 作成したばかりの秘密鍵に対して、コピー アンド ペーストで openssl_pkey_get_private() を呼び出す

次のコードは、公開鍵と秘密鍵のペアを作成し、openssl_pkey_get_private() 関数を使用して鍵を正常に開き、鍵のペアをディスプレイに出力します。次に、以前に作成したキーをコピーしてコードに貼り付けます。以前は機能していたのとまったく同じ秘密鍵を開こうとしましたが、現在は失敗しています。

興味のある方は、http: //phpseclib.sourceforge.net/index.htmlでライブラリを入手できます。

ソースフォージのウェブサイトから昨日ダウンロードしたphpseclib0.3.1を使用しています。

何が問題ですか?

これが完全なコードです。エコーされた結果は、コピーと置換の準備ができています。

出力例を次に示します。ここでの結果は、後続の実行の入力 (コピーと貼り付け) として機能します。

更新 1: phpseclib0.3.1 にはその変更がないように見えますが、少なくともコピー アンド ペーストによる変更では問題は解決しません。手動で RSA.php を変更しました (v0.3.1 の 795-804 行目):

更新 2: コードが動作するようになりました。上記の「、64」を含めることがトリックを行ったのか、それとも必要なのかはわかりませんが、トリックを行ったのは、おそらくコピーアンドペーストジョブからのものであるスペースのように見える文字を「\ n」に置き換えることでした。 . 私がそれをしたらすぐに、ほら!おそらく両方の編集が必要でした。