今年も自宅サーバのSSLに使っている証明書の期限が切れる日がやってきました。というわけで更新。
# CAの証明書の作り直し openssl x509 -req -signkey ca.key -days 365 -sha1 -in ca.req -out ca.crt # サーバの証明書の作り直し openssl x509 -req -CA ca.crt -CAkey ca.key -days 365 -sha1 -in server.req \ -out server.crt -CAserial ca.srl -extensions v3_req -extfile server.cnf # courier-imapの鍵を更新 cat server.key server.crt > /etc/courier/imapd.pem # postfixの鍵を更新 cat server.key server.crt > /etc/postfix/postfix.pem
後は、courier-imap-sslとpostfixを再起動し、CAの証明書をクライアントにインストールします。
makefileの中などからsvn infoした結果を使いたい時には、出力をsedやawkなどで加工しているのですが、ロケールが変わるとうまく動かなくなることがあります。svn infoに出力をXMLにする--xmlオプションが追加されたのでこちらから取得すると良さそうです。XMLから特定の値を取り出すのにはlibxsltのxsltprocを使うことにして、以下のようなXSLTを作って、
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" version="1.0"> <xsl:output method="text"/> <xsl:param name="path"/> <xsl:template match="/"> <xsl:value-of select="saxon:evaluate($path)"/> </xsl:template> </xsl:stylesheet>
以下のように実行してやると指定したXPathの値が簡単に取れます。
# 最後にコミットしたリビジョンの取得 svn info --xml | xsltproc --param path "'info/entry/commit/@revision'" xpath.xsl -