SSLのインストールに失敗する

SSLの更新期限が近づいてきたのですが、新しいブランドでサービスを行うとのことから、乗り換えることにしました。
前回と同じようにか秘密鍵を生成して証明書を発行してもらって、Apacheにインストール・・・に失敗します。
よくよく調べてみると、モジュラスが異なっているためにhttpdが起動できない模様です。
なぜこうなったのかよくわからないまま、再発行をお願いすることになりました。

とりあえず、モジュラスの確認方法をメモで残しておきます。

<サーバ>
Apache + mod_ssl + openssl

<エラーメッセージ>
Unable to configure RSA server private key

<調べ方>
証明書のモジュラスを表示
openssl x509 -noout -text -in certfile

秘密鍵のモジュラスを表示
openssl rsa -noout -text -in keyfile

この結果において、「modulus」と「public exponent」が同じでない場合、認証できないのでApacheが起動しないようです。

アップロードする方法がわからない

いまひとつ使い方を理解していないWordPressですが、ふと画像をアップロードしようと思ったものの、方法がわからなくなりました。
以前は「メディアの追加」のような名前でメニューがあったような気がしたのですが、今探すとどこにもない。
うーんこ、待った。
基、うーん、困った。

OOo3 BaseでMySQLに接続する

いつもはphpMyAdminというツールを使って操作していますが、HTMLで構成される画面には何かと限界を感じるものです。
かなり昔にMicrosoftのAccessで簡単なデータベースを作ったことがありますが、Windowsに限定されるのは何かと不便だし、一から作るのであれば新しいものに手を出してみようとOOoのBaseからMySQLに接続してみることにしました。
Baseを起動するとデータベースウィザードが開始されますので、指示通りに進めます。

「既存のデータベースに接続」を選択し、「MySQL」を指定
 ↓
JDBCを使って接続を選択
 ↓
データベースの名前、サーバーURLを入力
 ↓
ユーザー名を入力し、必須パスワードにチェックを入れて「テスト接続」ボタンを押下
 ↓
パスワードを入力して「OK」ボタンを押下
 ↓
ワクテカしながら結果を待つ・・・まもなくエラーメッセージが表示される

さて、ここまで進めたのにエラーが表示されて進めなくなりました。

The driver class 'com.mysql.jdbc.Driver' could not be loaded.

com/mysql/jdbc/Driver

つまり、ドライバが見つかりませんということのようです。
このエラーはJRE対応であってもなくても表示されます。インストールしなおして実験したので間違いありません。
Javaの環境によってはこの作業が必要ではないのかもしれません。
OOo自体にはMySQL用のドライバ(他のDBも?)が入っていないので、別途用意してあげる必要があります。
今回はMySQLへの接続ですので、MySQLのサイトからJDBCドライバをダウンロードします。
この記事の作成時点ではConnector/J 5.1が用意されていました。
ダウンロードにはオーナーの情報を求められますので、適当に入力します。
入力内容に不備が無ければ画面が推移しますので、あちこちに用意されているミラーからダウンロードします。
このファイルはOOo以外からも利用できますので、OOoのディレクトリの中に入れるのではなく、パブリックな場所においておくといいでしょう。
次に、ダウンロードしたドライバを認識させなければなりません。
Baseを起動するとまたウィザードが表示されますので、設定を無視して「完了」ボタンを押下し、ウィンドウのメニューを操作できる状態にします。もちろん、OOoのスタートウィンドウを起動してもかまいません。

ツール>オプション
 ↓
OpenOffice.org>Java
 ↓
「クラスパス」ボタンを押下
 ↓
「アーカイブを追加」ボタンを押下
 ↓
先ほど保存した「mysql-connector-java-5.1.7-bin.jar」を選択し、「OK」ボタンを押下
 ↓
指示に従ってOOoを再起動

これで、最初に行った手順どおりに進めると、無事

接続テスト

接続が正常に確立できました。

と表示されます。
あとは、設定をファイルに保存すれば完了です。
データベース操作の解説はまた別の機会に。

OOo Version.3公開

MicrosoftOfficeとほぼ互換があるオフィススイート、オープンオフィスのバージョンが3になりました。
個人的にはOfficeは2000までしか使っておらず、それ以降は基本的にOOoでの作業です。
動作が少々もたつきますが、MS高額を払っても全機能を使うわけでもないし、立派に機能しているといえるでしょう。
まぁ、よそとやり取りするときには困ったりしますが。

さて、3で何が変わったのかといいますと・・・
アイコン?
ほかは・・・何が違うんだろう。
微妙にツールバーに変化があったぐらいでしょうか。
官公庁での導入も始まっているとも聞きますので、新しい物好きにはお勧めかもしれません。

Excelで読めるHTMLを書く

Webサービスなどから、Excelで読めるHTMLを出力する場合、
以下の2行をヘッダで出力すればいいのは有名な話。
Content-Type: application/vnd.ms-excel
Content-Disposition: attachment; filename="file.xls"

しかし、今回も同じ技を使おうと思って困ったことになった。
それは、改行が反映されない。
Officeは2000までしか持ってないので、他のバージョンはどうなのかわからないけれど、
MSのことなので、この仕様(不具合)は2007でも継承されているに違いない(かもしれない)。
tdセル内に<br>を書くと行が分離してしまう。
純粋にプレーンなtableを書くとこうなってしまうらしい。
仕方が無いので、ExcelでHTMLを出力させ、改行が反映できるHTMLファイルのテンプレートを作ることにした。
以下がそのコード

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
<style>
<!--tr
	{mso-height-source:auto;
	mso-ruby-visibility:none;}
br
	{mso-data-placement:same-cell;}
.style0
	{mso-number-format:General;
	text-align:general;
	vertical-align:bottom;
	white-space:nowrap;
	mso-rotate:0;
	mso-background-source:auto;
	mso-pattern:auto;
	color:windowtext;
	font-size:11.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:"MS Pゴシック";
	mso-generic-font-family:auto;
	mso-font-charset:128;
	border:none;
	mso-protection:locked visible;
	mso-style-name:標準;
	mso-style-id:0;}
td
	{mso-style-parent:style0;
	mso-ignore:padding;
	color:windowtext;
	font-size:11.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:"MS Pゴシック";
	mso-generic-font-family:auto;
	mso-font-charset:128;
	mso-number-format:General;
	text-align:general;
	vertical-align:bottom;
	border:none;
	mso-background-source:auto;
	mso-pattern:auto;
	mso-protection:locked visible;
	white-space:nowrap;
	mso-rotate:0;}
.xl24
	{mso-style-parent:style0;
	white-space:normal;}
-->
</style>
<!--[if gte mso 9]><xml>
 <x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>
    <x:Name>Sheet1</x:Name>
    <x:WorksheetOptions>
     <x:Selected/>
    </x:WorksheetOptions>
   </x:ExcelWorksheet>
  </x:ExcelWorksheets>
 </x:ExcelWorkbook>
</xml><![endif]-->
</head>
<body>
<table>
 <tr>
  <td class=xl24>あ<br>い</td>
 </tr>
</table>
</body>
</html>

tdタグのxl24というクラスがあることで改行が反映されるらしい。
表示が1行のみになってしまうが、データとしては問題ないらしい。
もう少し削れそうだけど、テーブルの中身さえスッキリすれば、テンプレートとして問題ないので今はここまで。
この方法はMSのExcel用のものなので、OpenOfficeOrgのCalcではやはり分離する。

SSL証明書インストールに関するメモ

Windows Server(IIS)で使っていたSSL証明書を、Apacheに移し変える作業が必要になっていましたが、なかなか解決の糸口が見つからず2ヶ月ぐらい経過してしまいました。SSL自体の理屈はシスアドでも個人情報保護士でも必要な知識なので理解はしてますが、実際の設定となると上手くいかないものです。いろいろ調べてみても、どのサイトも説明がまちまちでなかなか理解に苦しみました。ここではメモを書き起こすことで、頭に叩き込むことにしました。

まず、拡張子に惑わされないこと。当たり前ですが、拡張子がファイルの内容を証明できるわけではありません。解説サイトに出てくる拡張子には、pem、key、cer、crtというものがありました。SSLも歴史が古いですから、きちんと取り決めがあると思い込んでいたのが最初の間違いです。

つぎに、必要なファイルの呼び方がまちまちなこと。サーバーにインストールする証明書は、秘密鍵です。外部に洩らすような管理をしてはいけません。この秘密鍵は、ほぼ秘密鍵と呼ばれていますが、サイトによっては証明書とだけ呼ばれていることもあります。(ちなみにこのサイトでは秘密鍵という説明が全然無く、どこかのサイトをパクったものの、バレないように編集したら肝心な事が抜けてしまったのではないでしょうか。)

そして、CSRを元に認証局より発行されるのが公開鍵です。先ほどの秘密鍵と公開鍵が対になって暗号化通信が成立します。この公開鍵はサーバー証明書と呼ばれたり、サーバーID(Verisign)と呼ばれています。SSLの解説では、基本的にこの2つについて説明されています。なので、文章上の知識はここまでが限界です。

そして、今でもよく分かっていないのが中間証明書。CA証明書などと呼ばれています。証明をしてもらうための仲介的な存在らしいです。紹介状とでも言いましょうか。もうちょっと正確に知識を吸収するべきなのでしょう。善処します。

秘密鍵
このファイル名はおおよそ*.keyとなっています。一部サイトでは*.pemや*.key.pemとされています。秘密鍵かどうかを確認するには、ファイルの内容を確認します。「-----BEGIN RSA PRIVATE KEY-----」で始まり、「----END RSA PRIVATE KEY-----」で終わります。場合によっては「RSA」が無いものもあるようです。「PRIVATE KEY」という文字列があればほぼ間違いないでしょう。
CSRファイル
認証局に認証してもらうために提出するファイルです。秘密鍵を基にした(秘密鍵そのものとある解説サイトもあるけど、秘密鍵を送ると秘密鍵の意味が無いので間違いと思われ)情報と、サーバーの管理者情報から生成されたファイルは、*.csrとなっています。一部サイトでは*.csr.pemやcsr.pemとされています。CSRファイルかどうかを確認するには、ファイルの内容を確認します。「-----BEGIN CERTIFICATE REQUEST-----」で始まり、「-----END CERTIFICATE REQUEST-----」で終わります。もしくは「-----BEGIN NEW CERTIFICATE REQUEST-----」で始まり、「-----END NEW CERTIFICATE REQUEST-----」で終わります。「CERTIFICATE REQUEST」という文字列があればほぼ間違いないでしょう。
公開鍵
認証局より送り返されてくるファイルです。COMODOの場合はサーバ証明書と中間証明書が書庫ファイルになってメールに添付されます。Verisignの場合はメールの本文に挿入されるので、新規にファイルを作成しコピペして保存することになります。このファイルの保存名が*.cerや*.crtといったものから、certificate.txtなど、ファイルの内容を連想するにも困難なものまであります。COMODOの場合は中間証明書が*.ca-bundleでした。ファイルとしては公開鍵なので、内容を確認すると「-----BEGIN CERTIFICATE-----」で始まり、「-----END CERTIFICATE-----」で終わります。公開鍵に関しては見て回ったサイトの中ではどれも一致していました。
ルート証明書
これは認証局を証明するためのファイルです。公的な認証局ではなく、独自に証明する場合はオレオレ証明書などと呼ばれます。基本的にはブラウザに既にインストールされています。ここではオレオレ証明書については説明しません。一部サイトではサーバ証明書とルート証明書が混同して解説されています。このようなサイトもパクっ(以下略)。このファイルは公開鍵なので、上記公開鍵と同じ「-----BEGIN CERTIFICATE-----」で始まり、「-----END CERTIFICATE-----」で終わります。

なぜだかいつもフルスクラッチ

このサイトは最近WordPressに移行したので、いろいろと楽(だが面倒)なのですが、
ここ以外の趣味ページやお仕事ページはなぜか一から書き起こしてます。
テンプレートが使えないような独自のものがほとんどだからなのですが、
この仕事量を普通に金額にしたら相当な額ですね。
フルスクラッチとはいえ、自分用のテンプレートがあるのですが、
一から作った完全オリジナル。
いつか限界が来ないことを祈りつつ(それなりに柔軟に作ってはいますが)
今日も980円のUSBキーボードをこれでもかと叩きまくる。

お助けツールに罫線文字登場

文字で絵を表示する文化がアスキーアート、
罫線で文字を表示するのは・・・罫線文字?
ということで、罫線文字に変換するサービスを公開しました。
変換できる文字は英数字ぐらいですが、結構使えるかもしれません。
penlaboと小文字で書くとこうなります。

    ┏━┓  ┏┓    ┏┓
┏━┫━┣━┫┣━┓┃┗┳━┓
┃┃┃━┫┃┃┃┃┗┫┃┃┃┃
┃┏┻━┻┻┻┻━━┻━┻━┛
┗┛

PENLABOと大文字で書くとこうなります。

┏━┳━┳━┳┳┓┏━┳━┓┏━━┓
┃┃┃━┫  ┃┃┃┃┃┃━┗┫┏┓┃
┃┏┫━┫┃  ┃┗┫  ┃━━┃┗┛┃
┗┛┗━┻┻━┻━┻┻┻━━┻━━┛

500桁ぐらいならどうにかなるんじゃないかな。

π=3.

1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679

8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196

4428810975 6659334461 2847564823 3786783165 2712019091
4564856692 3460348610 4543266482 1339360726 0249141273

7245870066 0631558817 4881520920 9628292540 9171536436
7892590360 0113305305 4882046652 1384146951 9415116094

3305727036 5759591953 0921861173 8193261179 3105118548
0744623799 6274956735 1885752724 8912279381 8301194912

Google Chromeを使ってみた

作りはシンプル。
操作もシンプル。
スタイルシートもJavaScriptも問題なし。

ただ、機能的に物足りない感じがある。
あとは、他のGoogleとの連携かな。
Analyticeとか、Adsenseとか、
ログインしてたら、自動的に結果が表示されたりするとうれしいかも。
でも、ぜひ使いたいとはあまり思えなかったかも。