VSSLCertificate

Esta clase representa un certificado lo que nos permite obtener información acerca de éste.

La función correspondiente a la clase VSSLInfo nos permite acceder a los certificados de la conexión segura TLS/SSL establecida con un componente de Velneo a un servidor de Velneo:

theApp.sslInfo().peerCertificateChain( nCertificado );

Pero también es posible crear un objeto de esta clase usando un certificado en disco. Requiere importarla previamente a su uso:

importClass ( "VSSLCertificate" );

Indice de funciones

Constructor

VSSLCertificate VSSLCertificate()

Generales

String digest( Number nAlgorithm )

Date effectiveDate()

Date expiryDate()

Boolean isBlacklisted()

Boolean isNull()

VSSLKey privateKey()

VSSLKey publicKey()

String issuerInfo( String szAtributo )

String serialNumber()

Array subjectInfo( String szAtributo )

VByteArray toDer() → ByteArray con el contenido en formato DER

VByteArray toPem() → ByteArray con el contenido en formato PEM

String toText()

String version()

De importación

bool importPkcs12( VByteArray dataCertificate, String password )

bool importFromFilePkcs12( String fileName, String password )

Documentación de funciones

Constructor

VSSLCertificate VSSLCertificate()

Requiere importar previamente la clase:

importClass ( "VSSLCertificate" );

Funciones generales

String digest( Number nAlgorithm )

Devuelve un resumen o hash del certificado con el algoritmo que indiquemos como parámetro (por defecto MD5).

Parámetros:

  • Algoritmo: ver enums de algoritmos en VApp (AlgoritmoHash).

Date effectiveDate()

Devuelve la fecha a partir de la que el certificado es válido.

Date expiryDate()

Devuelve la fecha a partir de la que el certificado deja de ser válido.

Boolean isBlacklisted()

Devuelve true si el certificado está en la lista negra en caso contrario devolverá false.

Boolean isNull()

Devuelve true si el certificado es nulo, es decir, un certificado sin contenido, en caso contrario, devuelve false.

VSSLKey privateKey()

Retorna un objeto VSSLKey la clave privada del certificado (Sólo disponible en caso de haber importado el certificado).

Esta función no está disponibles mi en macOS ni en iOS.

VSSLKey publicKey()

Retorna un objeto VSSLKey la clave pública del certificado.

Esta función no está disponibles mi en macOS ni en iOS.

String issuerInfo( String szAtributo )

Devuelve un dato del certificado correspondiente a la información de generación, en función del parámetro indicado.

Parámetros:

  • szAtributo: cadena que indica el dato correspondiente al certificado que queremos obtener. Ver siguiente lista:

"O": nombre de la organización.

"CN": nombre común. Normalmente es el nombre del host.

"L": localidad.

"OU": nombre de la unidad organizacional.

"C": país.

"ST": estado o provincia.

"emailAdress": correo electrónico.

String serialNumber()

Número de serie del certificado en formato hexadecimal.

Array subjectInfo( String szAtributo )

Devuelve un array de cadenas con la información añadida al atributo que indicamos como parámetro.

Parámetros:

  • szAtributo: cadena que indica el dato correspondiente al certificado que queremos obtener. Ver siguiente lista:

"O": nombre de la organización.

"CN": nombre común. Normalmente es el nombre del host.

"L": localidad.

"OU": nombre de la unidad organizacional.

"C": país.

"ST": estado o provincia.

"emailAdress": correo electrónico.

VByteArray toDer()

Devuelve un objeto VByteArray con el contenido de la clave en formato DER.

Esta función no está disponibles mi en macOS ni en iOS.

VByteArray toPem()

Devuelve un objeto VByteArray con el contenido de la clave en formato PEM.

Esta función no está disponibles mi en macOS ni en iOS.

String toText()

Devuelve el certificado en una representación en texto legible.

String version()

Devuelve la versión del certificado.

Funciones de importación

bool importPkcs12( VByteArray dataCertificate, String password )

Importa un certificado desde un fichero P12.

Parámetros:

  • VByteArray dataCertificate: objeto de tipo VByteArray con el contenido del fichero del certificado.

  • String password: cadena con la contraseña del certificado.

Esta función no está disponibles mi en macOS ni en iOS.

bool importFromFilePkcs12( String fileName, String password )

Importa un certificado desde un fichero P12.

Parámetros:

  • String fileName: senda del fichero del certificado.

  • String password: cadena con la contraseña del certificado.

Esta función no está disponibles mi en macOS ni en iOS.

Ejemplo

Lectura de certificados en disco y obtención de su claves pública y privada

//Asumiendo que el certificado está en la caché local del cliente

var sendaCertificadoPFXActivo = theApp.clientCachePath() + "Certificado_activo.pfx";
var claveCertificadoActivo = "123456";

//Modos de importar
//Leems el fichero en VByteArray
var certificadoVB = new VSSLCertificate();
var contenido = new VByteArray();
var fp = new VFile( sendaCertificadoPFXActivo );		
if ( fp.open( VFile.OpenModeReadOnly ) ){
	contenido = fp.readAll();
	fp.close();
}

certificadoVB.importPkcs12( contenido , claveCertificadoActivo )

//Leyendo directamente de disco
certificadoVB.importFromFilePkcs12( sendaCertificadoPFXActivo , claveCertificadoActivo )

//Utilizando los metodos
certificadoVB.toDer(); // retorna VByteArray no legible
certificadoVB.toPem().toLatin1String(); // retorna VByteArray legible

var clavePublica = certificadoVB.publicKey();  //retorna objeto VSSLKey
var clavePrivada = certificadoVB.privateKey(); //retorna objeto VSSLKey

clavePublica.algorithm();
clavePublica.toDer(); // retorna VByteArray no legible
clavePublica.toPem().toLatin1String(); // retorna VByteArray legible
clavePublica.type() // retorna el tipo de la clave
clavePublica.algorithm() // retorna el algoritmo de la clave
clavePublica.length() // Retorna el tamaño de la clave

Última actualización