Algunas funciones importantes - lista rápida
Algunas funciones importantes podemos verlas a continuación. Ni son todas las que están, ni están todas las que son, pero es una forma rápida de mirar algunas de las funciones que más podemos usar a la hora de programar (al menos yo usaba esto para no ir buscando cada función por su fichero de definición). También puede ser interesante pegar un vistazo a la definición de algunas de las macros existentes en la cabecera x509.h, pues muchas de las macros son simplificaciones que se hacen de usos con ASN1.
-
int X509_issuer_and_serial_cmp(X509 *a, X509 *b)
Compara los números de serie y la empresa(issuer) de dos certificados
x509.
-
int X509_CRL_cmp(X509_CRL *a,X509_CRL *b)
Compara dos listas CRL por la empresa(issuer) observando la misma procedencia.
-
X509_NAME *X509_get_issuer_name(X509 *a)
Devuelve el nombre de la empresa(issuer) en un puntero a X509_NAME.
-
int X509_set_issuer_name(X509 *x, X509_NAME *name)
Permite poner el nombre de la empresa (issuer) que esta en un formato
X509_NAME.
-
X509_NAME *X509_get_subject_name(X509 *a)
Devuelve el nombre del titular del certificado en un puntero a X509_NAME.
-
int X509_set_subject_name(X509 *x, X509_NAME *name)
Permite poner el nombre al titular del certificado en formato X509_NAME.
-
int X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name)
Permite poner el nombre del titular a un CSR.
-
ASN1_INTEGER *X509_get_serialNumber(X509 *a)
Devuelve el número de serie en un puntero ASN1_INTEGER.
-
int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial)
Permite asignar el número de serie al certificado en formato
ASN1_INTEGER.
-
int X509_set_version(X509 *x, long version)
Permite fijar la versión del certificado (long).
-
int X509_REQ_set_version(X509_REQ *x, long version)
Permite poner la versión del CSR.
-
int X509_set_notBefore(X509 *x, ASN1_UTCTIME *tm)
int X509_set_notAfter(X509 *x, ASN1_UTCTIME *tm)
Fija las fechas límites mínima y máxima de validez
del certificado.
-
int X509_set_pubkey(X509 *x, EVP_PKEY *pkey)
Permite cambiar la clave pública del certificado.
-
int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
Permite cambiar la clave pública del CSR.
-
int X509_check_private_key(X509 *x,EVP_PKEY *k)
Compara los tipos de la clave pública y la clave privada.
-
int X509_STORE_set_default_paths(X509_STORE *ctx)
Inicializa los caminos por defecto. Válido para STDIO.
-
int X509_STORE_load_locations(X509_STORE *ctx, const char *file,const
char *path)
Indica los caminos a utilizar. Válido para STDIO.
-
const char *X509_get_default_private_dir(void)
Obtiene el camino por defecto al directorio donde se guardan las claves
privadas.
-
const char *X509_get_default_cert_dir(void)
const char *X509_get_default_cert_file(void)
Devuelven los valores por defecto del directorio donde se guardan los
certificados y el nombre por defecto de un certificado.
-
X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_Pkey *pkey)
X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, EVP_MD *md)
Permiten obtener objetos X509 a partir de un X509_REQ y viceversa.
-
int X509_STORE_add_cert(X509_STORE *ctx, X509 *x)
Añade un certificado al conjunto de certificados guardados.
-
int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x)
Añade un objeto CRL al conjunto ya almacenado.
-
int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type)
Permite cargar el certificado del fichero file en la estructura de
certificados almacenados.
-
int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type)
Permite cargar el CRL del fichero file en la estructura de almacenamiento
de objetos X509.