■Tomcat7でSSL通信
(1)SSLサーバ証明書要求
・秘密鍵生成
openssl genrsa -des3 -out [秘密鍵ファイル名] 4096
・CSR生成
openssl req -new -key [秘密鍵ファイル名] -out [出力CSRファイル名.csr]
(2)サーバ証明書発行依頼
・エンジョイSSLを使用。
http://www.e-ssldirect.com/product/rapidssl.php
・CSRをテキスト表示して申込フォームに貼り付け
openssl req -noout -text -in [CSRファイル名]
(3)証明書受取
指定した管理者メールアドレス(例えば webmaster@ホスト名)でメールを受け取れるようにする
一時的にでOK
受け取ったメールアドレスに発行するためのURLが書いてあるのでそのページを見る
そうすると審査が完了して証明書が発行される。
見に行ったページにサーバ証明書、中間CA証明書が書いてあるのでコピーして保存
(4)証明書ファイル作成
サーバ証明書、中間CA証明書、秘密鍵を1つにまとめたPKCS12形式ファイルを作成
openssl pkcs12 -export -in [サーバ証明書ファイル] -inkey [秘密鍵] -certfile [中間CA証明書] -out [出力ファイル]
PEM形式にしたい場合
openssl pkcs12 -in [上記出力ファイル] -out [ファイル名.pem]
(5)Tomcat設定
[Tomcat Dir]/conf/server.xml
<Connector
port="443"
protocol="HTTP/1.1"
scheme="https"
secure="true"
keystoreFile="[PKCS12形式のキーストアファイル]"
keystorePass="[キーストアパスワード]"
keystoreType="PKCS12"
/>
(6) 443ポート空け
(7)Tomcat再起動
2013年1月29日火曜日
2013年1月26日土曜日
[番外編] メールサーバ構築
■postfixによるSMTPサーバ(CentOS)
(1)インストール
yum install postfix
(2)動作設定
/etc/postfix/main.cf
(3)ポート設定
25番ポート空ける
(4)alias設定
postmaster, webmaster等の特別アカウントへのメールは通常rootに転送される
これを本来のwebmasterユーザーで受信したい場合の設定
/etc/aliases の以下の記述をコメントアウト
webmaster: root
newaliases コマンドで反映
(5)MTA(Message Transfer Agent)確認&切り替え
複数のメール配信ソフトがインストールされている場合に行う。
確認: alternatives --display mta
変更: alternatives --config mta
(6)起動
/etc/init.d/postfix start
■dovecotによるPOP3、IMAPサーバ構築
(1)インストール
yum install dovecot
(2)動作設定
/etc/dovecot/conf.d/10-main.cf
/etc/dovecot/conf.d/auth-system.cf
(3)ポート設定
110番ポート空ける
(4)起動
/etc/init.d/dovecot start
(1)インストール
yum install postfix
(2)動作設定
/etc/postfix/main.cf
| 設定項目 | 内容 |
|---|---|
| ホスト名 | myhostname = [自分のホスト名] |
| ドメイン名設定 | mydomain = [自分のドメイン名] |
| メール送信先 | myorigin = $myhostname |
| メール受信設定 | inet_interfaces = all |
| メールの最終目的地 | mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain |
| リレー許可ドメイン | relay_domains = $mydestination |
| メール保存先 | home_mailbox = Maildir/ |
(3)ポート設定
25番ポート空ける
(4)alias設定
postmaster, webmaster等の特別アカウントへのメールは通常rootに転送される
これを本来のwebmasterユーザーで受信したい場合の設定
/etc/aliases の以下の記述をコメントアウト
webmaster: root
newaliases コマンドで反映
(5)MTA(Message Transfer Agent)確認&切り替え
複数のメール配信ソフトがインストールされている場合に行う。
確認: alternatives --display mta
変更: alternatives --config mta
(6)起動
/etc/init.d/postfix start
■dovecotによるPOP3、IMAPサーバ構築
(1)インストール
yum install dovecot
(2)動作設定
/etc/dovecot/conf.d/10-main.cf
/etc/dovecot/conf.d/auth-system.cf
(3)ポート設定
110番ポート空ける
(4)起動
/etc/init.d/dovecot start
2012年8月10日金曜日
ターミナル入力・・・・UART+MMU+割り込み(2)
続き。
■仮想メモリ割り当て
設計したメモリマップにしたがって固定のページテーブルを作成する
■割り込み初期化手順
(1)CPUのIRQ割り込みハンドラを登録
(2)CPUの割り込み有効化
asm ("cpsie i"); でIRQ有効化
(3)UARTにクロック供給
(4)UARTのIRQハンドラを登録
(5)UARTのIRQ出力有効化
受信割り込みのみ有効化する。
OMAP3530仕様書の2693ページ 17.6.1 UART/IrDA/CIRレジスタ IER_REGを参照
IER_REGに1(RHR_ITビット)を書き込み
■割り込みハンドラ
IRQハンドラだけ作成
IRQ以外の割り込みは使用しないのでnop
ハンドラではレジスタをスタックに保存してIRQ処理に飛ぶ
.extern interruptHandler
.global interruptVector
_irq_entry:
stmfd sp!, {r0 - r12, lr};
mov r0, #6;
bl interruptHandler;
ldmfd sp!, {r0 - r12, lr};
subs pc, lr, #4;
interruptVector:
nop; // Reset
nop; // Invalid code
nop; // Software Service.
nop; // Prefetch Abort
nop; // Data Abort
nop;
ldr pc, =_irq_entry;
nop; // Fast IRQ
■UART割り込みハンドラ
UARTドライバの割り込みハンドラでは割り込み時にRHRから1文字読み取ってバッファに記録
■サンプル
ソースコード
■仮想メモリ割り当て
設計したメモリマップにしたがって固定のページテーブルを作成する
■割り込み初期化手順
(1)CPUのIRQ割り込みハンドラを登録
(2)CPUの割り込み有効化
asm ("cpsie i"); でIRQ有効化
(3)UARTにクロック供給
(4)UARTのIRQハンドラを登録
(5)UARTのIRQ出力有効化
受信割り込みのみ有効化する。
OMAP3530仕様書の2693ページ 17.6.1 UART/IrDA/CIRレジスタ IER_REGを参照
IER_REGに1(RHR_ITビット)を書き込み
■割り込みハンドラ
IRQハンドラだけ作成
IRQ以外の割り込みは使用しないのでnop
ハンドラではレジスタをスタックに保存してIRQ処理に飛ぶ
.extern interruptHandler
.global interruptVector
_irq_entry:
stmfd sp!, {r0 - r12, lr};
mov r0, #6;
bl interruptHandler;
ldmfd sp!, {r0 - r12, lr};
subs pc, lr, #4;
interruptVector:
nop; // Reset
nop; // Invalid code
nop; // Software Service.
nop; // Prefetch Abort
nop; // Data Abort
nop;
ldr pc, =_irq_entry;
nop; // Fast IRQ
■UART割り込みハンドラ
UARTドライバの割り込みハンドラでは割り込み時にRHRから1文字読み取ってバッファに記録
■サンプル
ソースコード
2012年6月4日月曜日
ターミナル入力・・・・UART+MMU+割り込み
UARTの制御と割り込みを使ってターミナルから文字列を入力してそれを表示してみる。
■実装方針
1、メモリマップ
2、割り込み駆動
UARTへの入力はポーリングによってバッファの状態を確認するのではなく、割り込みで入力を検知する。
BeagleBoardの端子はUART3に接続なのでIRQ74に対応するハンドラを登録する。
OMAP35x Technical Reference Manual 10.3.2 Interrupt Request Linesを参照
■メイン処理
(1)UART入力バッファが空か確認
(2)読み込み可能フラグが立つまで無限ループ
→IRQ74が発生したらフラグを立てる
(3)バッファから1文字読み込み
(4)読み込んだ文字をUART出力
(5)(1)に戻る
■実装方針
1、メモリマップ
物理メモリのアドレス=仮想アドレスを基本とする。
BeagleBoardは物理メモリが0x8000 0000~0x8FFF FFFF の256Mbyte
割り込みベクタは上位ベクタ0xFFFF 0000が使えるように割り当てる。
ハードウェアレジスタは256M分のメモリの上位、すなわち0x90000000~に割り当て
コードとデータはオフセット0x400000~に配置。その下をスタックとする
ハードウェアレジスタは256M分のメモリの上位、すなわち0x90000000~に割り当て
コードとデータはオフセット0x400000~に配置。その下をスタックとする
以上の方針によりメモリマップは以下のように設定
2、割り込み駆動
UARTへの入力はポーリングによってバッファの状態を確認するのではなく、割り込みで入力を検知する。
BeagleBoardの端子はUART3に接続なのでIRQ74に対応するハンドラを登録する。
OMAP35x Technical Reference Manual 10.3.2 Interrupt Request Linesを参照
■メイン処理
(1)UART入力バッファが空か確認
(2)読み込み可能フラグが立つまで無限ループ
→IRQ74が発生したらフラグを立てる
(3)バッファから1文字読み込み
(4)読み込んだ文字をUART出力
(5)(1)に戻る
登録:
投稿 (Atom)
