| 4D v18GENERATE CERTIFICATE REQUEST | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 GENERATE CERTIFICATE REQUEST 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GENERATE CERTIFICATE REQUEST ( privKey ; certifRequest ; codeArray ; nameArray ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| privKey | BLOB |   | 秘密鍵BLOB | |||||
| certifRequest | BLOB |   | CSRを受け取るBLOB | |||||
| codeArray | 倍長整数配列 |   | 情報コードリスト | |||||
| nameArray | 文字配列 |   | 名前リスト | |||||
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 (例) | 
| CommonName | 13 | www.4D-Japan.com | 
| CountryName (two letters) | 14 | JP | 
| LocalityName | 15 | Setagaya-ku | 
| StateOrProvinceName | 16 | Tokyo | 
| OrganizationName | 17 | 4D Japan, Ltd. | 
| OrganizationUnit | 18 | Web 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
									GENERATE ENCRYPTION KEYPAIR
									
									HTTP SET CERTIFICATES FOLDER
									
									TLSプロトコルの使用
									
	プロダクト: 4D
	テーマ: 暗号化プロトコル
	番号: 
        691
        
        
        
	
	初出: 4D v6.7
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加