|
UNIX上のC言語でCGIを作っています、複数のデータを画面に表示する。 沢山データあるので、改ページの機能もあります 1つ悩みがあります。 ページを変わると、タイトルの表示位置も変えてしまう。 タイトルはTPLファイルで定義しています、以下のように <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">選択</TH> <TH width="170">サービス名</TH> <TH width="170">グループ名</TH> <TH width="170">コンテンツ<BR>タイトル名</TH> <TH width="170">コンテンツ<BR>ファイル名</TH> <TH width="100">ファイル<BR>サイズ<BR>(byte)</TH> <TH width="50">更新日時</TH> <TH width="58">無償フラグ</TH> </TR> データ出力はC言語で書いています、以下のように printf("<TR bgcolor=%s><TD align=\"center\" width=\"30\">",html_work2); printf("<INPUT type=\"radio\" name=\"CONTENT_ID\" %s value=\"%s%s%s\">\n",html_work1,recode.my_content_id.arr,recode.my_service_id,recode.my_group_id); printf("</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"170\">%s</TD><TD width=\"100\">%s</TD><TD width=\"53\">%s</TD><TD width=\"58\">%s</TD>\n", service_name, group_name, recode.my_content_title.arr, recode.my_content_filename.arr, recode.my_file_size, recode.my_update_date.arr, html_work3); widthは%の形で定義して見た、それでもページを変わると、タイトルの表示位置をずれてしまう。 誰か教えていただけないでしょうか? |
|
>>3969 田 CGI が出力した HTML のソースを参照し (IE なら「表示->ソース」)、 以下の HTML と比較して、おかしいところはないか調べてみて下さい (例えば </TR> が抜けていないか、など)。 <HTML><BODY> <HR width="98%"> <TABLE width="98%" cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">選択</TH> <TH width="170">サービス名</TH> <TH width="170">グループ名</TH> <TH width="170">コンテンツ<BR>タイトル名</TH> <TH width="170">コンテンツ<BR>ファイル名</TH> <TH width="100">ファイル<BR>サイズ<BR>(byte)</TH> <TH width="50">更新日時</TH> <TH width="58">無償フラグ</TH> </TR> <TR> <TD align="center" width="30"> <INPUT type="radio" name="CONTENT_ID" value="xxx"> </TD> <TD width="170">a</TD> <TD width="170">b</TD> <TD width="170">c</TD> <TD width="170">d</TD> <TD width="100">e</TD> <TD width="53">f</TD> <TD width="58">g</TD> </TR> <TR> <TD align="center" width="30"> <INPUT type="radio" name="CONTENT_ID" value="xxx"> </TD> <TD width="170">A</TD> <TD width="170">B</TD> <TD width="170">C</TD> <TD width="170">D</TD> <TD width="100">E</TD> <TD width="53">F</TD> <TD width="58">G</TD> </TR> </TABLE></BODY></HTML> |
|
こんにちは。 今あるプログラムの不具合調査をしておりまして、 RAND_add() がキーとなった不具合が発生しております。 とても情けない質問になるのですが、 RAND_add とは何を行っている関数なのでしょうか。 |
|
68USER様:貴重な提案をいただきました、ありがとうございます。 試して見ましたが、問題解決まだできません |
|
<HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width="30">チェツ・/TH> <TH width="170">・オ。シ・モ・ケフセ</TH> <TH width="170">・ー・・シ・ラフセ</TH> <TH width="170">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="170">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="100">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="50">ケケソキニ・�</TH> <TH width="58">フオス�・ユ・鬣ー</TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" checked value="0000100050001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">premium</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2023/10/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor= ><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100060001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">abc</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2024/08/04 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100070001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_KC_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2019/08/04 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor= ><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100110001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2013/11/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <TR bgcolor=#FFCC99><TD align="center" width="30"><INPUT type="radio" name="CONTENT_ID" value="0000100170001"> </TD><TD width="170"> </TD><TD width="170"> </TD><TD width="170">ST_MUSYO_EZ。ハEZ・爍シ・モ。シ。ヒ</TD><TD width="170">ez.amc</TD><TD width="100"> 67,269 </TD><TD width="53">2015/11/03 00:00:00</TD><TD width="58">、ハ、キ</TD> </TR> <input type="hidden" name="TOTAL_PAGE" value ="2"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="2"> <input type="hidden" name="CONTENT_ID" value =""> <input type="hidden" name="MOTO" value ="S"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- disp() //--> </SCRIPT> </TABLE><BR> </FORM></CENTER></BODY></HTML> |
|
ソース表示するとき、文字化けになった、設定の仕方がわからなくて、そのまま下に貼ります |
|
>>3973 田 文字化け部分を適当に直して IE6 で見てみましたが、特にテーブル構成が崩れることは ありませんでした。ブラウザ名とバージョンを確認してください。また、3973 で提示した HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる かどうかを確認してください。 >>3971 吉 まず http://X68000.q-e-d.net/~68user/net/ssl-1.html を読んで、RAND_seed() が「PRNG に乱数の種となるランダムデータを蓄積するためのもの」 であることを理解してください。 RAND_seed() は 「10 バイトのデータを乱数の種として蓄積」 ということしかできません。 しかし RAND_add() は 「10 バイトのデータを乱数の種として蓄積するが、本当にランダムな部分は 5バイト分しかない」 などと、ランダムさを指定することができます。それ以外に RAND_seed() と RAND_add() の 違いはありません。 |
|
68user様:貴重な助言、ありがとうございます。 いま私は使っているブラウザ名とバージョンは ブラウザ:Microsoft Internet Explorer バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0) です、 3973 で提示した HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる かどうかを確認しました。文字化け以外、異常がありませんでした |
|
>>3976 田 > ブラウザ:Microsoft Internet Explorer > バージョン:4.0 (compatible; MSIE 6.0; Windows NT 5.0) これは IE6 のことを指します。ブラウザのメニューバーの ヘルプ->バージョン情報 で確認するのが確実です。 > 3973 で提示した > HTML をファイルに保存し、そのファイルをブラウザで開き、本当にテーブル構成が崩れる > かどうかを確認しました。文字化け以外、異常がありませんでした そもそも >>3973 で提示した HTML は、実際に表示が崩れている HTML の ソースを表示した結果ですか? 表示が崩れていない HTML のソースであれば、当然ながら HTML を見ても原因は わかりません。 表示が崩れている HTML のソースであれば、Javascript が悪さをしているのかも しれませんが、現物がないことには何ともいえません。少しずつ出力するタグを 削っていき、原因がどこにあるのか調べましょう。 |
|
AIXでのcsh実行でよく分からない点があり、初めて投稿させて頂きました。 AIX5.2で以下のcshを実行するとエラーは起きません。 #!/bin/csh if ( '07' >= '01' ) then endif exit しかし、if文内の'07'を'08'or'09'にすると 「if:数値の形式が正しくありません.」 とエラーになります。 ('10'や'11'などでは問題ありません。) HP-UXではエラーにならないのですが、理由がお分かりになる方が いらっしゃったら御教えください。 |
|
>>3978 もの知らず? おそらく、>= は両辺を数値として比較するため、0 から始まる文字列は 8進数と解釈されてしまうのでしょう。 もし /bin/test が存在するなら test '07' -ge '01' if ( $status == 0 ) then 処理 endif とか test '07' -ge '01' && 処理 などとする手があります。 |
|
>>3979 68user 68userさん。早速の御解答有難う御座いました。 8進数として解釈され、8進数に09などという数値が 存在しないのでエラーとなったということですね。 大変勉強になりました。 |
|
はじめまして。 ネットワークプログラミングのことを検索すると、いつもこちらのページがヒットするので、 いろいろと勉強させていただいてます。 さて、↓の UDP の説明ですが、 http://x68000.q-e-d.net/~68user/net/udp-2.html クライアントプログラムのリンクはあるのに、サーバの方がない(?)ようです。 で、もしかしたらと思って↓この URL を開いてみたら当たりました(笑)。 http://x68000.q-e-d.net/~68user/net/sample/udp-server-1.pl なので、こちらの方も本文からのリンクがあるとわかりやすいかなと思います。 |
|
>>3981 とおる。 リンクの張り忘れですので、さっそくリンクを追加いたしました。 ご指摘ありがとうございました。 |
|
68user様:貴重な助言、ありがとうございます。 最近手は回らなくて、返事を遅れて、すみません。 いま私は使っているブラウザ名とバージョンは ブラウザ:Microsoft Internet Explorer Version:6.0.2800.1106 データと関連しているような気がします、4ページから5ページ遷移するとき、問題ない、5ページから6ページ遷移するとき問題が起きる 以下は5ページ表示しているときのソース <HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; return true; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000" Onload="return disp()"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width=3%>チェツ・/TH> <TH width="14%">・オ。シ・モ・ケフセ</TH> <TH width="14%">・ー・・シ・ラフセ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="13%">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="13%">ケケソキニ・�</TH> <TH width="8%"> <CENTER> フオス�<BR>・ユ・鬣ー </CENTER> </TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" checked value="0000909630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-9 </TD><TD width="14%">cameratuika.gif </TD><TD width="13%"> 1,794 </TD><TD width="13%">2004/09/16 11:36:11 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000810110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">8 </TD><TD width="14%">cameratuika.gif </TD><TD width="13%"> 1,794 </TD><TD width="13%">2004/10/05 19:01:42 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001009630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-10 </TD><TD width="14%">cancel.gif </TD><TD width="13%"> 1,529 </TD><TD width="13%">2004/09/16 11:36:23 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000910110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">9 </TD><TD width="14%">cancel.gif </TD><TD width="13%"> 1,529 </TD><TD width="13%">2004/10/05 19:02:18 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000106410001"> </TD><TD width="14%">aaaa </TD><TD width="14%">aaaa </TD><TD width="14%">aaaa </TD><TD width="14%">chekouttest.txt </TD><TD width="13%"> 41 </TD><TD width="13%">2004/05/14 13:32:57 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000509630002"> </TD><TD width="14%">フ�掘� </TD><TD width="14%">baseballgrpdir2 </TD><TD width="14%">base2-5 </TD><TD width="14%">close_new.gif </TD><TD width="13%"> 1,351 </TD><TD width="13%">2004/09/16 11:35:17 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001010110001"> </TD><TD width="14%">00001 </TD><TD width="14%">00001 </TD><TD width="14%">10 </TD><TD width="14%">close_new.gif </TD><TD width="13%"> 1,351 </TD><TD width="13%">2004/10/05 19:02:33 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001308020001"> </TD><TD width="14%">EZ・爍シ・モ。シ </TD><TD width="14%">ez_grp </TD><TD width="14%">sdfafasaasd </TD><TD width="14%">config.gif </TD><TD width="13%"> 1,163 </TD><TD width="13%">2004/08/24 18:37:39 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001908020001"> </TD><TD width="14%">EZ・爍シ・モ。シ </TD><TD width="14%">ez_grp </TD><TD width="14%">syu_test </TD><TD width="14%">contract_change.gif </TD><TD width="13%"> 1,175 </TD><TD width="13%">2004/09/14 17:17:44 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000300020001"> </TD><TD width="14%">test </TD><TD width="14%">test </TD><TD width="14%">sdsa </TD><TD width="14%">dec.amc </TD><TD width="13%"> 130,749 </TD><TD width="13%">2003/12/12 12:26:18 </TD><TD width="8%">、ハ、キ</TD> <input type="hidden" name="TOTAL_PAGE" value ="28"> <input type="hidden" name="MOTO" value ="S"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="5"> </TABLE><BR> </FORM></CENTER></BODY></HTML> 以下は6ページ表示しているときのソース <HTML> <HEAD> <TITLE>・ウ・鵐ニ・鵐トク。コ�掘�フイ靂フ</TITLE> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <Script Language = "JavaScript" SRC="./js-lib/comfunc.js"></Script> <Script language ="JavaScript"> <!-- function disp(){ parent.buttonFrame.location="Pscc_content_infobutton.cgi"; return true; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000" Onload="return disp()"> <CENTER> <IMG src="../images/title_contentsSearch.gif" width="175" height="27"> <FORM NAME="CONTSHOW" METHOD="POST" ACTION="Pscc_content_infobody.cgi" TARGET="_self"> <HR width=98%> <TABLE width=98% cellpadding="2" cellspacing="0" border="0"> <TR> <TH width=3%>チェツ・/TH> <TH width="14%">・オ。シ・モ・ケフセ</TH> <TH width="14%">・ー・・シ・ラフセ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ソ・、・ネ・・セ</TH> <TH width="14%">・ウ・鵐ニ・鵐ト<BR>・ユ・。・、・・セ</TH> <TH width="13%">・ユ・。・、・・BR>・オ・、・コ<BR>(byte)</TH> <TH width="13%">ケケソキニ・�</TH> <TH width="8%"> <CENTER> フオス�<BR>・ユ・鬣ー </CENTER> </TH> </TR> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" checked value="0000409510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">02.3.14-005-6_title </TD><TD width="14%">dlcsv.gif </TD><TD width="13%"> 1,483 </TD><TD width="13%">2004/09/02 20:45:25 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000509510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">2.3.14-007_title </TD><TD width="14%">dllimit.gif </TD><TD width="13%"> 1,410 </TD><TD width="13%">2004/08/31 14:07:51 </TD><TD width="8%">、「、・/TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0001509510001"> </TD><TD width="14%">・ウ・鵐ニ・鵐ト・ニ・ケ・ネ(」ナ」レ・爍シ・モ。シ) </TD><TD width="14%">content_ezmovie_grp </TD><TD width="14%">0902_title </TD><TD width="14%">dummy.html </TD><TD width="13%"> 53 </TD><TD width="13%">2004/09/02 20:47:46 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000109780002"> </TD><TD width="14%">grp_test </TD><TD width="14%">grp_test </TD><TD width="14%">grp_test </TD><TD width="14%">dummy.html </TD><TD width="13%"> 53 </TD><TD width="13%">2004/09/16 13:43:11 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000200020001"> </TD><TD width="14%">test </TD><TD width="14%">test </TD><TD width="14%">abc </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2004/05/25 17:43:13 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100050001"> </TD><TD width="14%">premiumPPV </TD><TD width="14%">ppv </TD><TD width="14%">premium </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/10/23 10:51:38 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100060001"> </TD><TD width="14%">kccsppv </TD><TD width="14%">a </TD><TD width="14%">abc </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2004/08/24 10:58:05 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100110001"> </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ST_PRE_EZ。ハ」ナ」レ・爍シ・モ。シ。ヒ </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/13 18:00:54 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor=#FFCC99><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000100840001"> </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ppv_EZmovie_pre </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/16 16:52:26 </TD><TD width="8%">、ハ、キ</TD> <TR bgcolor= ><TD align="center" width="3%"><INPUT type="radio" name="CONTENT_ID" value="0000102520001"> </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">マ「キネ。ハEZMOVIE_PREM_PPV) </TD><TD width="14%">ez.amc </TD><TD width="13%"> 67,269 </TD><TD width="13%">2003/11/18 20:42:19 </TD><TD width="8%">、ハ、キ</TD> <input type="hidden" name="TOTAL_PAGE" value ="28"> <input type="hidden" name="MOTO" value ="S"> <input type="hidden" name="SERVICE_ID" value =""> <input type="hidden" name="GROUP_ID" value =""> <input type="hidden" name="CON_TITLE" value =""> <input type="hidden" name="CON_FILE" value =""> <input type="hidden" name="DATA_TYPE" value =""> <input type="hidden" name="CUR_PAGE" value ="6"> </TABLE><BR> </FORM></CENTER></BODY></HTML> 問題を見つからないです。 |
|
akuroと申します。 MACの改行コード(CR)の扱いについておうかがしたいことがございます。 RedHat8.0上コマンドラインより、 vi lunux.txt ------------- aiueo kakikukeko sasisuseso というファイルを作成し、これの改行コードを¥r→¥nに変換しました。 perl -pe 's/¥n/¥r/' linux.txt > mac.txt このファイルをWindows2000クライアントPCにDLしメモ帳で表示したところ。 -------- aiueo■kakikukeko■sasisuseso■ (実際は■は半分くらいの大きさです) となり、¥rが存在する事が確認できます。 自動で改行コードを認識するエディタで表示させると改行されて表示されます。 (サクラエディタ使用) この処理を、Vine2.6R4上で実行し、メモ帳、サクラエディタで見たところ ------- aiueokakikukekosasisuseso 両エディタでみてもこのようになっておりました。 ただ、¥r自体は存在するようなのですが、うまく反映されないのです。 (この結果はFreeBSD5.2でも同様でした。) 色々とこの現象について調べてはいるのですが、原因不明です。 どなたかおわかりの方がいらっしゃいましたらよろしくお願いします。 それと、情報が足りない点がありましたらご指摘お願いいたします。 |
|
>>3983 田 こちらの環境ではいずれも正常に表示されたので、解決方法は わかりませんでした。少しずつ出力を削り、どこがまずいのか 調べましょう。 もし他の掲示板で質問する場合は、これまでに述べた環境に 加え、テーブルのどの部分がどういうふうに崩れるのかを 書くとよいでしょう。 >>3984 akuro まずは問題が発生している箇所を切り分けましょう。 perl 実行後に od -cx などでファイルの内容を確認しましょう。 \r になっているなら、Windows 側かファイル転送時の問題です。 \r になっていないなら、Linux 側の問題です。 |
|
>>3985 68user 返信ありがとうございます。 早速ファイルを確認してみましたところ、 (Vine,redhat8.0での確認) →FREEBSDの方は今起動できないため後でテストしてみます。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f 0000034 と同じ結果となり、¥rは存在する事が判明しました。 という事は、”Windows 側かファイル転送時”の問題のようです。 ファイルの取得方法はRedHatもVineもWinSCPを使用して受けとりました。 受け取ったクライアントPCは同じなので原因は転送時の気がします。 となると、SSHの設定かもしれないです。 まだ、原因はわかりませんが引き続き調査してみます。 |
|
>>3986 akuro 原因は、WinSCPでの転送中にファイルが加工されていたためでした。 一度ローカルにDLした後に、再度サーバーへUPしたところ ファイルのダンプデータが異なりました(ファイルサイズも)。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f ↓DL、UP後 0000000 a i u e o k a k i k u k e k o s 6961 6575 6b6f 6b61 6b69 6b75 6b65 736f 0000020 a s i s u s e s o \0 7361 7369 7375 7365 006f 0000031 sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。 なにかよい方法はありませんでしょうか。 (FTPでバイナリモードにするしかないのでしょうか) FTPを使用してバイナリ転送したところ、問題なく転送できました。 |
|
>>3987 akuro WinSCP は知りませんが、 http://itc.sfc.keio.ac.jp/ml/ の「2-6. 転送モードで[テキスト(T)] を選択します」という設定画面で モード切替を行なえるように見えます。 > sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。 わたしの知る限り、UNIX 的な ssh・scp は改行コード置換は行ないません。 WinSCP 独自のおせっかいな機能でしょう。 |
|
>>>3987 akuroと申します。なんども申し訳ありません。 先ほどは、改行コードを¥n→¥r変換しましたが。 ¥nのままでもファイルに異常が生じるかテストしてみました所、 ¥nの場合は問題なく転送できました。 |
|
>>3988 68user 返信ありがとうございます。akuroです。 問題解決いたしました。 ご指摘いただいたWinSCPの転送をバイナリにしたところ 問題なく転送できました。 ありがとうございました。 |
|
sugimotoと申します。 OpenSSLとRSA暗号を調べていてここに辿りつきました。 あるユーザ様とCGIを介してデータ通信を行おうとしているのですが、ユーザ 様の指定で、データはRFC2313に準拠したRSA暗号化して送るという事になって ます。 暗号化/復号については68user様のネットワークプログラミングの基礎を参考 に作れそうなのですが、唯一解決できない問題がありまして、ここに質問して おります。 【問題点】 ユーザ様から提示された仕様には暗号化キー/復号キーがそれぞれ1つしか 無い。 RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な のですが、ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 RSAにおいて、このような事は可能なのでしょうか? 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば指数 とモジュラスに分割できるよ。など情報がありましたら教えて下さい。 ※ユーザ様にも問い合わせ中なのですが、レスポンスの問題がありまして、 こちらにも質問した次第です。 よろしくお願いいたします。 |
|
>>3991 sugimoto > RSAはモジュラスと私有指数,公開指数で暗号化/復号を行えるという理解な > のですが そのとおりです。 > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 実は「モジュラスと公開指数」を意味する、ということはないですか? # 「暗号化キー/復号キー」が具体的に何を指すのかよくわからない # ので何ともいえないのですが。 > 例えば、opessl genrsaコマンドで作成したRSAキーなら、関数を使えば > 指数とモジュラスに分割できるよ。など情報がありましたら教えて下さい。 genrsa で出力されるデータには、モジュラス・公開指数・非公開指数全てが 含まれていますので、可能です (openssl genrsa で生成したデータを読み込み、 openssl rsa -pubout で公開鍵を出力できるわけなので)。 試してませんが、genrsa で生成した PEM ファイルを http://www.openssl.org/docs/crypto/pem.html などで読み込み、RSA 構造体を参照すればよいのではないでしょうか。 |
|
>>3992 68user 素早い回答どうも有難うございます。> 68User様 > > ユーザ様の仕様ではモジュラスに該当する仕様が無いのです。 > これは定義の問題ではないでしょうか? 仕様にある「暗号化キー」は、 > 実は「モジュラスと公開指数」を意味する、ということはないですか? ユーザからの回答として、上記が来る事を心待ちにしている所です。 PEMファイルからモジュラスを抜き出す処理については、ユーザからの回 答を待ってからにしようと思っておりますが、必要になった場合は頑張って みます。この処理を行いましたらまた報告します。 |
|
>>3993 sugimoto sugimotoです。 結局PEMファイルから秘密指数/公開指数とモジュラスを抜き出す事にしました。 プライベート鍵ファイルからの読み込みは PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 パブリックキーの読み込みに失敗している状態です。 以下が読み込みプログラム RSA *ReadPublicKey(char *keyfile) { FILE *fp = fopen (keyfile, "r"); RSA *pkey; if (!fp) return NULL; pkey = PEM_read_RSAPublicKey(fp,NULL,NULL,NULL); fclose (fp); if (pkey == NULL) ERR_print_errors_fp (stderr); return pkey; } この関数を実行すると、以下のエラーが出てしまいます。 === ここから === 5563:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:669:Expect ing: RSA PUBLIC KEY Error: can't load public key === ここまで === 渡しているファイルは openssl rsa -in private.key -pubout -out public.key で作成した、public.keyになります。 ちなみに、private.keyの読み込みは上記関数のPEM_read_RSAPublicKeyを PEM_read_RSAPrivateKeyに変えた物で、問題無く動作します。 どなたか、private.keyの読み込みを行った方が居ましたら、助言をお願い いたします。 |
|
>>3994 sugimoto 今実行環境がないのでわかりませんが、とりあえず気になったところだけ。 > プライベート鍵ファイルからの読み込みは > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか? あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?) なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか? |
|
>>3995 68user > > プライベート鍵ファイルからの読み込みは > > PEM_read_RSAPrivateKey()という関数を利用する事で上手く行ったのですが、 > これで RSA 構造体に「秘密指数/公開指数とモジュラス」がセットされていませんか? はい。セットされます。 動作の確認のため、パブリック鍵ファイルも読み込みたかったのです。 > あと、目的がよくわからないのですが、PEM ファイルは誰が作るのですか? (自分? 相手?) PEMは自分で作成して、一方を相手に渡します。 > なぜ「秘密指数/公開指数とモジュラス」を抜き出す必要があるのでしょうか? PEMファイルの鍵を使って暗号化と復号を行いたいからです。 で、当初の問題であったパブリック鍵の読み込みですが、 PEM_read_RSA_PUBKEY() という関数を使ったところ上手く行きました。 色々ご助言いただき有難うございました。 |
|
>>3996 sugimoto > PEMファイルの鍵を使って暗号化と復号を行いたいからです。 PEM ファイルをロードしたら RSA 構造体が生成されるわけですから、 それを使って OpenSSL の関数で RFC2313 (PKCS#1) なデータを生成 するのはダメなのですか? …と質問しようかと思ったのですが、おそらく「そういう仕様である」が 答えなような気がしますのでやめておきます。 |
|
>>3997 68user あー、公開指数とモジュラスだけ (独自フォーマットで 相手側に送りたい、 という意図かな。 |
|
>>3998 68user やりたい事を上手く伝える事ができないくて、すみません。 送信者は平文をPEM形式のパブリック鍵で暗号化し、 受信者はPEM形式のプライベート鍵で復号する。 という事を実現したかっただけなのです。 暗号化/復号の際にはPEM形式ファイル内の指数とモジュラスを抜き出す 必要があって・・・という話です。 と、ここまで書いて思ったのですが、もしかしてPEM形式の鍵をそのまま 使ってRSA暗号化する関数が存在するのでしょうか? とすれば、何て無駄な事をしているんだ・・・。という感じです。 |