[PHP-users 23799] Re: proc_open 関数を使った SSL コマンドの実行

Naomasa Numajiri naonuma @ ubiquitous.co.jp
2004年 12月 5日 (日) 23:59:35 JST


こんにちは、

proc_open()関数の機能を確認しましたが、やりたい処理は
コマンド実行時の標準入力/出力をリダイレクトして、プログラム
上で制御したいということですよね?

UNIXのコマンドライン上でやるなら
	$ command < input_data > result_data (*1)
と同等であるように思います。

なので、パスフレーズなどのあらかじめ入力するデータをファイルにして
おいて、上記のコマンドを成功させてから、改めて同じことをPHP上の
proc_open()で置き換えてみてはどうでしょうか?

上の、標準入力/出力のリダイレクションによる、コマンドライン
からの実行が同じエラーになるなら、PHP上での状況と同じなので、
再現状況がよりシンプルになったという意味では一歩前進。
成功するなら、同じはずの両者の違いに原因があることになると思います。

*1 動作確認していないので、記述に間違いがあるかも。

参考になれば

--ぬ

On Fri, 3 Dec 2004 18:26:55 +0900(JST)
s38217kt @ std.kurume-nct.ac.jp wrote:

; tsukamotoです。
; 
; proc_open関数を使ってSSLコマンドを実行するプログラムを作っています。
; コマンドを実行することはできていますが,実行中にパスフレーズや証明書の情報を入力することが出来ません。
; 
; 実行コマンド:openssl req -new -keyout newreq.pem -out newreq.pem
; 
; 
; Enter PEM pass phrase:**** (パスフレーズを入力しなければならない)
; 
; 実行状況をファイルに出力したら次の様になっています。
; Using configuration from /usr/share/ssl/openssl./cnf
; Generating a 1024 bit RSA private key
; .............++++++
; ....+++
; writing new private key to '/home/htdocs/newreq.pem'
; Enter PEM pass phrase:
; Enter PEM pass phrase:
; Enter PEM pass phrase:
; Enter PEM pass phrase:
; 2109:error:09064060:PEM routines:DEF_CALLBACK:problems getting password:pem_lib.c:114:
; 2109:error:0906A068:PEM routines:PEM_ANS1_write_bio:read key:pem_lib.c:368
; 
; コマンド実行中にPHPプログラムで文字列を与えることは可能なのでしょうか?
; ご教授お願いします。
; 
; 環境
; httpd 2.0.52
; mod_ssl 2.0.52
; PHP 4.3.9
; Openssl 0.9.7d
; _______________________________________________
; PHP-users mailing list  PHP-users @ php.gr.jp
; http://ns1.php.gr.jp/mailman/listinfo/php-users
; PHP初心者のためのページ - 質問する前にはこちらをお読みください
; http://www.php.gr.jp/php/novice.php3



PHP-users メーリングリストの案内