4D v16.3

GENERATE CERTIFICATE REQUEST

Inicio

 
4D v16.3
GENERATE CERTIFICATE REQUEST

GENERATE CERTIFICATE REQUEST 


 

GENERATE CERTIFICATE REQUEST ( llavePriv ; peticionCertif ; arrayCod ; arrNombres ) 
Parámetro Tipo   Descripción
llavePriv  BLOB in BLOB que contiene la llave privada
peticionCertif  BLOB in BLOB que recibe la solicitud del certificado
arrayCod  Array entero largo in La lista de códigos de información
arrNombres  Array cadena in Lista de nombres

El comando GENERATE CERTIFICATE REQUEST genera una solicitud de certificación al formato PKCS el cual puede ser utilizado directamente por las autoridades de certificación tal como Verisign(R). El certificado es una parte importante en el protocolo seguro SSL. El certificado se envía a cada navegador que se conecta en modo SSL y contiene la “tarjeta de identidad” del sitio web (con la información introducida en el comando), así como también su llave pública permitiendo a los navegadores descifrar la información recibida. Además, el certificado contiene diferente información añadida por la autoridad de certificación lo cual garantiza su integridad.

Nota: para mayor información sobre el protocolo SSL utilizado con el servidor web 4D, consulte la sección Utilizar el protocolo TLS.

La solicitud de certificación utiliza un par de llaves generadas por el comando GENERATE ENCRYPTION KEYPAIR y contiene diferente información. La autoridad de certificación generará su certificado combinando esta solicitud con otros parámetros.

Pase en llavePriv un BLOB que contenga la llave privada genera con el comando GENERATE ENCRYPTION KEYPAIR.

Pase en peticionCertif un BLOB vacío. Una vez el comando ha sido ejecutado, contiene la solicitud de certificación al formato PKCS codificada en base64. Puede almacenar esta solicitud en un archivo de texto, por ejemplo utilizando el comando BLOB TO DOCUMENT, para presentarlo a la autoridad de certificación.

Advertencia: la llave privada se utiliza para generar la solicitud de certificación pero NO debe ser enviada a la autoridad de certificación.

Los arrays arrayCod (entero largo) y arrayNom (cadena) deben llenarse con los números de código y la información requerida por la autoridad de certificación respectivamente.

Los códigos y nombres requeridos pueden cambiar de acuerdo a la autoridad de certificación y el uso del certificado. Sin embargo, dentro del uso normal del certificado (conexiones del servidor web vía SSL), los arrays deben contener los siguientes elementos:

Información a suministrararrayCodarrayNom (Ejemplos)
Nombre del dominio13www.4dhispano.com
Código del país (dos letras)14ES
Ciudad15Barcelona
Estado, Departamento,...16Cataluña
Nombre de la organización174D Hispano
Servicio/Persona a cargo del 18Administrador Web
servidor

El orden en el que se introducen los códigos y la información no importa, sin embargo los dos arrays deben estar sincronizados: si el tercer elemento de codeArray contiene el valor 15 (ciudad), el tercer elemento de nameArray debe contener esta información, en nuestro ejemplo Barcelona.

Ejemplo  

Un formulario “Solicitud de certificado” contiene los seis campos necesarios para una solicitud de certificación estándar. El botón Generar crea un documento en disco que contiene la solicitud del certificado. El documento “Privatekey.txt” que contiene la llave privada (generada con el comando GENERATE ENCRYPTION KEYPAIR) debe estar en el disco:



Este es el método del botón Generar

  ` Método de objeto bGenerar
 
 C_BLOB($vbllavePriv;$vbpeticionCertif)
 C_LONGINT($tablaNum)
 ARRAY LONGINT($tLCodigos;6)
 ARRAY STRING(80;$tSInfos;6)
 
 $tableNum:=Table(Current form table)
 For($i;1;6)
    $tSInfos{$i}:=Field($tablaNum;$i)->
    $tLCodigoss{$i}:=$i+12
 End for
 If(Find in array($tSInfos;"")#-1)
    ALERT("Todos los campos deben ser completados.")
 Else
    ALERT("Seleccione su llave privada.")
    $vhDocRef:=Open document("")
    If(OK=1)
       CLOSE DOCUMENT($vhDocRef)
       DOCUMENT TO BLOB(Document;$vbllavePriv)
       GENERATE CERTIFICATE REQUEST($vbllavePriv;$vbcertifRequest;$tLCodigos;$tSInfos)
       BLOB TO DOCUMENT("Request.txt";$vbcertifRequest)
    Else
       ALERT("Llave privada inválida.")
    End if
 End if



Ver también 

GENERATE ENCRYPTION KEYPAIR
Utilizar el protocolo TLS

 
PROPIEDADES 

Producto: 4D
Tema: Protocolo seguro
Número 691

 
HISTORIA 

Creado por: 4D v6.7

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)