Tips

GENERATE ENCRYPTION KEYPAIRコマンドで2048ビット長の鍵を生成する

日付2010/03/29
ID75985 (英語原文参照)
バージョン11
プラットフォームMac & Windows

4D v11.6より、2048ビット長の鍵をGENERATE ENCRYPTION KEYPAIRコマンドで生成できるようになりました。以下は2048ビット長のCSRを生成する例です。

 ` generate new Key Pair
C_BLOB(privKey;pubKey)
GENERATE ENCRYPTION KEYPAIR (privKey;pubKey;2048)


  ` Setup Certificate Signing Request information
ARRAY LONGINT(SSLcodeArray;6)
ARRAY STRING(80;SSLinfoArray;6)

  ` Common Name
SSLcodeArray{1}:=13
SSLinfoArray{1}:="www.mydomain.com"

  ` Country Name (2 Letters)
SSLcodeArray{2}:=14
SSLinfoArray{2}:="US"

  ` Locality Name
SSLcodeArray{3}:=15
SSLinfoArray{3}:="San Jose"

  ` State or Province Name
SSLcodeArray{4}:=16
SSLinfoArray{4}:="California"

  ` Organization Name
SSLcodeArray{5}:=17
SSLinfoArray{5}:="My Company"

  ` Organization Unit
SSLcodeArray{6}:=18
SSLinfoArray{6}:="My Department or Title"

  ` generate CSR
C_BLOB(CSR)
GENERATE CERTIFICATE REQUEST(privKey;CSR;SSLcodeArray;SSLinfoArray)

  ` save CSR to file
BLOB TO DOCUMENT("csr.txt";CSR)

  ` save private key to file
BLOB TO DOCUMENT("key.pem";privKey)

  ` save public key to file
BLOB TO DOCUMENT("publickey.pem";pubKey)

上記のコードにより、2048ビット長の公開鍵、秘密鍵、そして証明書リクエストが生成されます。デスクトップ版の4Dであれば、それぞれのファイルはストラクチャファイルと同じフォルダに保存されます。証明書リクエストを認証局へ送信することにより、署名された証明書を入手することができますし、OpenSSLのようなプログラムを使用して自己認証をすることもできます。

たとえば、下記のコードに1年後の有効期限が切れる自己署名証明書を生成します。

openssl x509 -req -days 365 -in csr.txt -signkey key.pem -out cert.pem

下記のコードは15年後に有効期限が切れる自己署名証明書を生成します。

openssl x509 -req -days 5475 -in csr.txt -signkey key.pem -out cert.pem