2011.07.21
FreeBSD 8.2-STABLE で TCP MD5 の設定

/etc/ipsec.conf
add  192.0.2.1 192.0.2.2tcp 0x1000 -A tcp-md5 "secret";
add 2001:db8::1 2001:db8::2 tcp 0x1000 -A tcp-md5 "secret";
みたいなファイルを作って、ipsec_enable="YES" を /etc/rc.conf に書いておく。すると、setsockopt TCP_MD5SIG みたいにされたパケットには TCP-MD5 がつくようになる。(ちなみに OpenBGPd の設定ファイルの中で設定しても無駄)

なお、受信した TCP-MD5 の検証はまだ実装されてない。(参考)
2011.07.17
(Amazon から購入した mobi じゃない)自家製 mobi で Whispersync するための細工のメモ。(ePub を mobi にする方法はたくさんあるからググって探すといいと思う。)

Whispersync するための必要条件は次の2つ。
  • EXTH 113 (ASIN) を正しいASINにセット
  • EXTH 501 (cdetype) を 'EBOK' にセット

これを実現するための手順は以下の通り。
  1. mobiperl-win-0.0.43.zip を https://dev.mobileread.com/dist/tompe/mobiperl/ からダウンロードする (このページには Mac 用もあるって書いてあるし、そもそも Perl なんだからどこでも動きそうなものだが、面倒だから試してない。)

  2. ダウンロードした ZIP ファイルを展開すると以下のファイル(と tar ファイル)が出てくる。(必要なのは mobi2mobi.exe だけだけど)

    html2mobi.exe
    lit2mobi.exe
    mobi2html.exe
    mobi2mobi.exe
    mobils.exe
    opf2mobi.exe

  3. .mobi ファイルを mobi2mobi.exe を同じフォルダにコピーする。(万が一のためにオリジナルのファイルは別途保存しておく)

  4. Amazon.com や Amazon.co.jp で ASIN を調べる。"Product Details" のところに書かれているASINを見るか、URLに含まれているASINを使う。今回の対象の本は以下の通りで、ASINはB0043D2E5E。

    JUNOS High Availability
    http://www.amazon.com/dp/B0043D2E5E

  5. コマンドプロンプトを開き以下の通り実行する。

    > mobi2mobi --outfile JUNOS_High_Availability.mobi --exthtype 113 --exthdata "B0043D2E5E" JUNOS_High_Availability.mobi
    > mobi2mobi --outfile JUNOS_High_Availability.mobi --exthtype 501 --exthdata "EBOK" JUNOS_High_Availability.mobi

    もし EXTH フィールドが無いなどのエラーが出る場合はこちら。(こっちは変更じゃなくて追加)

    > mobi2mobi --outfile JUNOS_High_Availability.mobi --addexthtype 113 --exthdata "B0043D2E5E" JUNOS_High_Availability.mobi
    > mobi2mobi --outfile JUNOS_High_Availability.mobi --addexthtype 501 --exthdata "EBOK" JUNOS_High_Availability.mobi

  6. できあがった .mobi ファイルを各デバイスのKindleのフォルダへ持っていく。

    • Android: (といっても、Honeycomb 3.1 デバイスしか持ってないから、他の Android でどうなのかよく分からないけど)とりあえず手元の Kindle for Android では普通に /sdcard/kindle へ上で作った .mobi ファイルを置くだけでファイルを認識した上で Whispersync してくれた。(ファイルを開いて少し読み進み、再度 Library へ戻ると一瞬「Saved furthest location」って表示されるはず。)
    • Mac: ~/Library/Application\ Support/Kindle/My Kindle Content に置いた。"Tools - Sync to Furthest Page Read" を選択(もしくはツールバーにある矢印二つのアイコンをクリック)すると、Sync してることが分かるはず。
    • iPhone: (諸般の事情で iOS 4.3.2 で試してます) Kindle for iPhone にファイルを送り込む方法としては iTunes 経由が一番標準的だろう。(Appタブの下方にある「ファイル共有」から) でもこれだと Whispersync が動かない。(矢印二つアイコンがグレーになっててタップできない) なので代わりに iPhone Explorer を使う。コピーする先は iPhone - Apps - Kindle - Library - eBooks。ここに上で作った .mobi を置いてやればちゃんと Whispersync も動く。(iTunes は Kindle - Documents に置いちゃうらしい。)

  7. 以上でたとえば Oreilly から購入した本でも Mac/iPhone/iPad/Android/Kindle で読んだ場所、ブックマークを共有しながら読み進められる。

以下は mobi2mobi.exe を実行してる様子。
mobi2mobi3.pngmobi2mobi2.pngmobi2mobi1.png
2011.07.13
古い鍵対を失効させた。
% gpg --list-keys john@example.net
pub 4096R/X0000XX0 2010-09-15
uid John Doe <john@example.net>
uid John Doe <john@us.example.net>
uid John Doe <john@example.ad.jp>
sub 2048R/0000X00X 2010-09-15 [expires: 2013-09-14]

pub 1024R/000000XX 1998-10-22
uid Doe John <john@example.net>
uid Doe John <john@example.ad.jp>
uid Doe John (since 2009.08.24) <john@us.example.net>
上が鍵が新しい鍵で、下が失効させたい古い鍵。(使う機会は少なかったけど、しかし、13年前に作った鍵なのか…。PGP 2.6.3i だったなぁ、その当時は。)

失効証明書を作成しインポート。
% gpg -o 000000XX.revoke.asc --gen-revoke 000000XX

sec 1024R/000000XX 1998-10-22 Doe John <john@example.net>

Create a revocation certificate for this key? (y/N) y

You need a passphrase to unlock the secret key for
user: "Doe John <john@example.net>"
1024-bit RSA key, ID 000000XX, created 1998-10-22

Enter passphrase:
ASCII armored output forced.
Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!

% gpg --import 000000XX.revoke.asc
gpg: key 000000XX: "Doe John <john@example.net>" revocation certificate imported
gpg: Total number processed: 1
gpg: new key revocations: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 22 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 22 signed: 4 trust: 0-, 3q, 1n, 16m, 2f, 0u
gpg: depth: 2 valid: 2 signed: 0 trust: 1-, 0q, 0n, 1m, 0f, 0u
gpg: next trustdb check due at 2017-11-30

無事に失効した。
% gpg --list-keys john@example.net
pub 4096R/X0000XX0 2010-09-15
uid John Doe <john@example.net>
uid John Doe <john@us.example.net>
uid John Doe <john@example.ad.jp>
sub 2048R/0000X00X 2010-09-15 [expires: 2013-09-14]

pub 1024R/000000XX 1998-10-22 [revoked: 2011-07-12]
uid Doe John <john@example.net>
uid Doe John <john@example.ad.jp>
uid Doe John (since 2009.08.24) <john@us.example.net>

失効した鍵対を鍵サーバーへ送信。
% gpg --send-keys 000000XX
gpg: sending key 000000XX to hkp server pgp.nic.ad.jp

% gpg --search-keys john@example.net
gpg: searching for "john@example.net" from hkp server pgp.nic.ad.jp
(1) John Doe <john@example.net>
John Doe <john@us.example.net>
John Doe <john@example.ad.jp>
4096 bit RSA key X0000XX0, created: 2010-09-15
(2) Doe John <john@example.ad.jp>
Doe John <john@example.net>
Doe John (since 2009.08.24) <john@us.example.net>
1024 bit RSA key 000000XX, created: 1998-10-22 (revoked)
Enter number(s), N)ext, or Q)uit > q

Rebuild at 2017/11/22 16:32
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。