5. 伝送 English
以下に明記した伝送プロトコルによって、エンドエンティティ、RA および CA の間に PKI メッセージの渡しが可能となります。PKI メッセージが適切な方法で保護されていれば(つまり、個々のメッセージにオプションの PKIProtection パラメータが用いられている場合)、このレベルに適用する特定なセキュリティ機構については特に要求事項がありません。
PKI メッセージを包含するファイルは必ずその 1つの PKI メッセージの DER エンコードのみを格納しなければなりません。すなわち、ファイルには無関係なヘッダーやトレーラー情報が存在してはいけません。
このようなファイルを用いて、例えば、FTP のような手段で PKI メッセージを伝送することができます。
次の簡易な TCP ベースのプロトコルは PKI メッセージの伝送に用いられます。このプロトコルはエンドエンティティ(もしくは RA)がトランザクションを開始し、そしてその結果を見つけ出せる場合に適用できます。
もしあるトランザクションが、PKI エンティティ(RA または CA)によって開始され場合に、エンドエンティティは PKI 管理コンポーネントからの PKI メッセージを取り出すために、必ずリスナー・プロセスを提供するかポーリングレファレンス(以下を参照)を与える必要があります。
このプロトコルは基本的に RA または CA が PKI メッセージを受け取るために明確なポート上(ポート番号 829)にリスナープロセスの存在を想定しています。典型的には、イニシエータがこのポートと結び付けられ、与えられたトランザクション ID を取得するために最初の PKI メッセージを提示します。レスポンダはPKIメッセージと(または)実際の PKI メッセージレスポンスをポーリングする際に使う参照番号(reference number)を返答します。
もしいくつかの PKI レスポンスメッセージが一定のリクエスト(仮にリクエストの一部の処理がもうひとつよりもすばやい場合)のために生成されるならば、その時は新しいポーリング・レファレンスも返されます。
イニシエータが最後の PKI レスポンスメッセージを取り出した後に、新しいポーリング・レファレンスが供給されなくなります。
トランザクションのイニシエータが「直接な TCP ベースの PKI メッセージ」を受信者に送付します。受信者がまた類似なメッセージで応答します。
直接な TCP ベースの PKI メッセージ」は以下のように構成されます:
length (32-bits), flag (8-bits), value (defined below)
鍵長フィールドにはメッセージの剰余の八進数の数字(すなわち、「値」の八進数に 1 を足す)を格納しています。本プロトコルにあるすべての 32ビット値はネットワーク・バイト順に明記されています。
メッセージ名 フラグ 値 pkiMsg '00'H DER-encoded PKI message(DERエンコード化されたPKIメッセージ) -- PKIメッセージ pollRep '01'H polling reference (32 ビット),
time-to-check-back (32 ビット)-- PKIメッセージ・レスポンスが用意されていないところのポールレスポンス;後ほどのポーリングのためにポーリング・レファレンスの値を使用 pollReq '02'H polling reference (32 ビット) -- 初期メッセージに対するPKIメッセージレスポンスを要求する negPollRep 03'H ''00'H -- これ以上のポーリング・レスポンスがない(すなわち、トランザクションが完了) partialMsgRep '04'H next polling reference (32 ビット),
time-to-check-back (32 ビット),
DER-encoded PKI message-- 初期メッセージに対する部分的な応答、それとレスポンスの次の部分を取得するための新しいポーリング・レファレンス(および推測時間の値) finalMsgRep '05'H DER-encoded PKI message -- 初期メッセージに対する最終(ひょっとしたらたったひとつの)レスポンス errorMsgRep '06'H human readable error message -- エラーが検出されたときに生成(例えば、存在しないあるいは最後のポーリングレファレンスを受信したときに) PKIConfirm メッセージが伝送される(常にイニシエータからレスポンダまで)ことになっているところに pkiMsg メッセージが送信され、そして negPollRep が返されます。
メッセージが発生しうるシーケンスを以下に示します。:
a) エンドエンティティが pkiMsg を送信し、レスポンスとして pollRep、 negPollRep、 partialMsgRep または finalMsgRep のうちのいずれかを受信します。 b) エンドエンティティが pollReq メッセージを送信し、レスポンスとして negPollRep、 partialMsgRep、 finalMsgRep または errorMsgRep のいずれかを受信します。
「time-to-check-back」パラメータは 32ビットの整数であり、協定世界時の 1970年 1月 1日の午前 0時から経過した秒数を表しています。それを元にエンドエンティティは次の pollReq を送付する時間を見積もります。
この節において、第 4 章で説明されたプロトコル交換のための ASN.1 エンコード化メッセージをインターネット電子メール経由で伝送する手段について明記します。
簡単な MIME オブジェクトは以下の通りに説明します。
Content-Type: application/pkixcmp
Content-Transfer-Encoding: base64
<<the ASN.1 DER-encoded PKIX-CMP message, base64-encoded>>
この MIME オブジェクトは通常の MIME 処理エンジンで送受信が可能で、PKIX-CMP メッセージの伝送に簡単なインターネット電子メールという手段を提供します。さかのぼっての互換性を保ち、どんなところでも利用可能にするために実装する際に "application/x-pkixcmp" の MIME タイプ(本書の以前のバージョンに規定されている)を認識し、かつ利用可能であることが望まれます。
この節において、第 4 章で説明されたプロトコル交換のための ASN.1 エンコード化メッセージを HTTP 経由で伝送する方法について明記します。
簡単な MIME オブジェクトを以下に明記します:
Content-Type: application/pkixcmp
<<the ASN.1 DER-encoded PKIX-CMP message>>
この MIME オブジェクトは通常の HTTP 処理エンジンによって WWW リンクを通して送受信ができ、PKIX-CMP メッセージの簡単なブラウザとサーバー間の伝送を実現します。実装にあたって、遡った互換性を保ち、どこでも適用可能にするために"application/x-pkixcmp" MIME タイプの認識および使用が要求されることがあります。