4D v14.3

GENERATE CERTIFICATE REQUEST

ホーム

 
4D v14.3
GENERATE CERTIFICATE REQUEST

GENERATE CERTIFICATE REQUEST 


 

GENERATE CERTIFICATE REQUEST ( privKey ; certifRequest ; codeArray ; nameArray ) 
引数   説明
privKey  BLOB in 秘密鍵BLOB
certifRequest  BLOB in CSRを受け取るBLOB
codeArray  倍長整数配列 in 情報コードリスト
nameArray  文字配列 in 名前リスト

説明   

GENERATE CERTIFICATE REQUEST コマンドは、Verisign(R)等の認証局で使用されているPKCSフォーマットで証明書リクエストを生成します。証明書はSSL暗号化プロトコルの重要な役割を持ちます。これはSSLモードで接続している各ブラウザに送信され、Webサイトの“IDカード” (このコマンドに指定した情報をもとに作成) とともに、ブラウザが受信情報の解読に使用できる公開鍵も納められています。さらにこの証明書には、整合性を保証する認証局により加えられた各種情報も納められます。

Note: 4D Webサーバで使用するSSLプロトコルに関する詳細はSSLプロトコルの使用の節を参照してください。

証明書リクエストには、GENERATE ENCRYPTION KEYPAIRコマンドで生成した一対の鍵が使用され、各種情報が納められます。認証局では、このリクエストと他の引数を組み合わせて証明書を作成します。

privKeyにはGENERATE ENCRYPTION KEYPAIRコマンドで生成した秘密鍵を納めたBLOBを渡します。

certifRequestには空のBLOBを渡します。コマンドが実行されると、この引数には証明書リクエストがbase64で暗号化されたPKCSフォーマットで納められます。このリクエストを認証局へ提出する目的で、例えばBLOB TO DOCUMENTコマンドを使用して、.pemの接尾辞がついたテキストファイルへ保存することができます。

警告: 秘密鍵はリクエストの作成に使用しますが、認証局へ送信してはいけません。

codeArray (倍長整数) およびnameArray (文字列) にはそれぞれ、認証局から要求されるコード番号と情報内容を納めます。
必要とされるコードおよび名称は、認証局や証明書の用途によって変わる場合があります。しかし、証明書の通常の用途であれば (SSL経由でのWebサーバ接続)、この配列には以下の項目を納める必要があります:

提供する情報 codeArray nameArray (例)
CommonName13www.4D-Japan.com
CountryName (two letters)14JP
LocalityName15Setagaya-ku
StateOrProvinceName16Tokyo
OrganizationName174D Japan, Ltd.
OrganizationUnit18Web Administrator

コードと情報内容の入力順は問いませんが、これら2つの配列は同期していなくてはなりません。つまり、codeArrayの3番目の項目の値が15 (LocalityName) であれば、nameArrayの3番目の項目にはその情報を納める必要があります。ここの例題ではSetagaya-kuになります。

例題  

“Certificate request”フォームには、標準の証明書リクエストで必要となる6つのフィールドが含まれています。Generateボタンは証明書リクエストを納めたドキュメントをディスク上に作成します。(GENERATE ENCRYPTION KEYPAIRコマンドで作成された) 秘密鍵を納めた“Privatekey.txt”もディスク上に存在している必要があります:



以下はGenerateボタンのメソッドです:

  ` bGenerate オブジェクトメソッド
 
 C_BLOB($vbprivateKey;$vbcertifRequest)
 C_LONGINT($tableNum)
 ARRAY LONGINT($tLCodes;6)
 ARRAY STRING(80;$tSInfos;6)
 
 $tableNum:=Table(Current form table)
 For($i;1;6)
    $tSInfos{$i}:=Field($tableNum;$i)->
    $tLCodes{$i}:=$i+12
 End for
 If(Find in array($tSInfos;"")#-1)
    ALERT("All fields should be filled.")
 Else
    ALERT("Select your private key.")
    $vhDocRef:=Open document("")
    If(OK=1)
       CLOSE DOCUMENT($vhDocRef)
       DOCUMENT TO BLOB(Document;$vbprivateKey)
       GENERATE CERTIFICATE REQUEST($vbPrivateKey;$vbcertifRequest;$tLCodes;$tSInfos)
       BLOB TO DOCUMENT("Request.txt";$vbcertifRequest)
    Else
       ALERT("Invalid private key.")
    End if
 End if

 
プロパティ 

プロダクト: 4D
テーマ: 暗号化プロトコル
番号: 691

 
履歴 

初出: 4D v6.7

 
参照 

GENERATE ENCRYPTION KEYPAIR
SSLプロトコルの使用

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)