4D v16.3

GENERATE CERTIFICATE REQUEST

Página Inicial

 
4D v16.3
GENERATE CERTIFICATE REQUEST

GENERATE CERTIFICATE REQUEST 


 

GENERATE CERTIFICATE REQUEST ( chavPriv ; peticaoCertificado ; codigoArray ; arrayNome ) 
Parâmetro Tipo   Descrição
chavPriv  BLOB in BLOB que contém a chave privada
peticaoCertificado  BLOB in BLOB que recebe o pedido de certificação
codigoArray  Array inteiro longo in informação da lista de código
arrayNome  Array string in Lista de nomes

O comando GENERATE CERTIFICATE REQUEST gera uma pedido de certificação ao formato PKCS o qual pode ser utilizado diretamente pelas autoridades de certificação tal como Verisign(R). O certificado é uma parte importante no protocolo seguro SSL. O certificado é enviado a cada navegador que se conecta em modo SSL e contém a “carteira de identidade” do sitio web (com a informação introduzida no comando), além de sua chave pública permitindo aos navegadores decifrar a informação recebida. Além disso, o certificado contém diferente informação adicionada pela autoridade de certificação a qual garante sua integridade.

Nota: para maior informação sobre o protocolo SSL utilizado com o servidor web 4D, consulte a seção Usar protocolo TLS.

O pedido de certificação utiliza um par de chaves geradas por o comando GENERATE ENCRYPTION KEYPAIR e contem diferente informação. A autoridade de certificação gerará seu certificado combinando esta solicitação com outros parâmetros.

Passe em chavPriv um BLOB que contenha a chave privada gera com o comando GENERATE ENCRYPTION KEYPAIR.

Passe em peticaoCertificado um BLOB vazio. Quando o comando tiver sido executado, contém o pedido de certificação ao formato PKCS. Pode armazenar este pedido em um arquivo de texto, por exemplo utilizando o comando BLOB TO DOCUMENT, para apresentá-lo à autoridade de certificação.

Advertência: a chave privada se utiliza para gerar o pedido de certificação mas NÃO deve ser enviada a a autoridade de certificação.

Os arrays codigoArray (inteiro longo) e arrayNome (cadeia) devem ser preenchidas com os números de código e a informação exigida pela autoridade de certificação respectivamente.

Os códigos e nomes exigidos podem mudar de acordo com a autoridade de certificação e o uso do certificado. Entretanto, dentro do uso normal do certificado (conexões do servidor web através da SSL), os arrays devem conter os seguintes elementos:
Informação a fornecercodigoArrayarrayNome (Exemplos)
Nome do domínio13www.4dhispano.com
Código do país (duas letras)14ES
Cidade15Barcelona
Estado16Cataluña
Nome da organização174D Hispano
Serviço/Pessoa responsável por 18Administrador Web
servidor

A ordem na qual se introduzem os códigos e a informação não é importante, entretanto os dois arrays devem estar sincronizados: se o terceiro elemento de codigoArray contém o valor 15 (cidade), o terceiro elemento de nomeArray deve conter essa informação, em nosso exemplo Barcelona.

Exemplo  

Um formulário “Pedido de certificado” contém os seis campos necessários para um pedido de certificação padrão. O botão Gerar cria um documento em disco que contém o pedido do certificado. O documento “Privatekey.txt” que contém a chave privada (gerada com o comando GENERATE ENCRYPTION KEYPAIR) deve estar no disco:



Este es o método do botão Gerar

  ` Método de objeto bGerar
 
 C_BLOB($vbchavePriv;$vbpeticaoCertif)
 C_LONGINT($tabelaNum)
 ARRAY LONGINT($tLCodigos;6)
 ARRAY STRING(80;$tSInfos;6)
 
 $tableNum:=Table(Current form table)
 For($i;1;6)
    $tSInfos{$i}:=Field($tabelaNum;$i)->
    $tLCodigoss{$i}:=$i+12
 End for
 If(Find in array($tSInfos;"")#-1)
    ALERT("Todos os campos devem ser completados.")
 Else
    ALERT("Selecione sua chave privada.")
    $vhDocRef:=Open document("")
    If(OK=1)
       CLOSE DOCUMENT($vhDocRef)
       DOCUMENT TO BLOB(Document;$vbchavePriv)
       GENERATE CERTIFICATE REQUEST($vbchavePriv;$vbcertifRequest;$tLCodigos;$tSInfos)
       BLOB TO DOCUMENT("Request.txt";$vbcertifRequest)
    Else
       ALERT("Chave privada inválida.")
    End if
 End if



Ver também 

GENERATE ENCRYPTION KEYPAIR
Usar protocolo TLS

 
PROPRIEDADES 

Produto: 4D
Tema: Protocolo de segurança
Número 691

 
HISTÓRIA 

Criado por: 4D v6.7

 
ARTICLE USAGE

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