TOTP - Time-Based One-Time Password

TOTP について調べるため、AWS の MFA で使うことのできる 仮想 MFA アプリケーションと同様の機能を持つアプリケーションを作成してみました。

TOTP の仕様

使い方

ユーザのホームディレクトリに .onetime というディレクトリを作成し、そのディレクトリに onetime.properties というファイルを作成します。

$ mkdir ~/.onetime
$ cat > ~/.onetime/onetime.properties

onetime.properties には、AWS の MFA を有効にしたときに表示されるシークレットキーを設定します。

secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Raspberry Pi の画面を回転

PDF や電子ブックのようなドキュメントを読みたいときは特にですが、画面を回転させて縦にしたくなります。

Raspberry Pi (Raspbian) で 90 度回転させたい場合は、/boot/config.txt にdisplay_hdmi_rotate=1 のように記述してリブートすれば反映されます。

詳しいことは、下のリンクに記述されています。

www.raspberrypi.org

f:id:section27:20180522231010p:plain

Raspberry Pi の HDMI 出力の設定

HDMI にモニタが接続されていない状態で起動すると、NTSC(コンポジット)に切り替わってしまうので、それを防ぐために、/boot/config.txt の hdmi_force_hotplug の先頭にある # を削除します

#hdmi_force_hotplug=1

を下のように編集します

hdmi_force_hotplug=1

次に、hdmi_group の先頭の # を削除し、また hdmi_mode の先頭の # を削除するとともに、値を 5 に設定します ここの値については、Video options in config.txt を参考にしてください

#hdmi_group=1
#hdmi_mode=1

を下のように編集します

hdmi_group=1
hdmi_mode=5

変更後、再起動して以下のコマンドで設定された解像度等の確認ができます

# tvservice -s

Raspberry Pi 起動時に接続しているモニター(TV)がOnにならないようにする

/boot/config.txt に以下の行を追加します

hdmi_ignore_cec_init=1

参考

https://elinux.org/CEC_(Consumer_Electronics_Control)_over_HDMI

github.com

iPhone の WIFI 設定に プロファイル を使う

macOS には、Apple Configurator 2 というアプリケーションがあって、これを使用すると iPhone 等の設定や制限を記述したプロファイルを作成することができます。

名称と識別子を入力します

f:id:section27:20171110232102p:plain

WIFISSID やパスワードを入力します

f:id:section27:20171110232142p:plain

名前をつけてプロファイルを保存します

f:id:section27:20171110232154p:plain

簡単に試すには、USB で iPhone 等を接続して、保存したプロファイルをデバイスに設定します

iPhone 側でインストールを実行すると、プロファイルがインストールされて、プロファイルにある WIFI 設定が有効になります

f:id:section27:20171110232321p:plain

Wake console screen with SSH

Raspberry Pi のコンソールをSSH経由でブランクから復帰させるコマンド

$ sudo sh -c "setterm --blank poke --term linux > /dev/tty1 < /dev/tty1"

逆にブランクにする場合

$ sudo sh -c "setterm --blank force --term linux > /dev/tty1 < /dev/tty1"

DisplayのON, OFF

ON

$ vcgencmd display_power 1

OFF

$ vcgencmd display_power 0

Spring Boot の auto-configuration の作り方

バージョン情報

  • Spring Boot 1.4.2.RELEASE

作り方

auto-configuration の作成方法は、リファレンスの 43. Creating your own auto-configuration に書かれています。

リファレンスの説明にある通り、spring-boot-autoconfigure と spring-boot-starter の2つのモジュールを作成することが推奨されていますが、 spring-boot-starter だけにすることもできると書かれていますので、GitHub に demo-spring-boot-starter を作成して試してみました。

demo-spring-boot-starter に DemoAutoConfiguration クラスを作成し、META-INF/spring.factories を次の内容で作成しています。

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
jp.pigumer.boot.autoconfigure.DemoAutoConfiguration