API de SWS de SSL.com - Introducción

Gestionar un gran número de certificados puede resultar bastante complicado. Incidentes que ocurren aleatoriamente, como los recientes en toda la industria problema de entropía del número de serie, puede requerir que los administradores revoquen y reemitan manualmente cientos de certificados a la vez. Nuestros propios agentes y administradores de soporte también han experimentado esto en el pasado, un hecho que motivó a SSL.com a implementar una solución más práctica: el API de servicios web SSL.com (SWS).

La API SWS se puede utilizar para automatizar varias operaciones relacionadas con certificados, como la emisión de certificados, la reescritura y el reprocesamiento de órdenes, la gestión del acceso de los usuarios, etc. a través de cualquier lenguaje de programación o scripting. Para obtener comandos pregenerados de API cURL para un pedido individual, intente agregar /developer al final de esa página de pedido de certificado (p. ej. https://www.ssl.com/certificate_orders/co-1234xyz/developer).

Para presentar algunas de las características de la API, este tutorial lo guiará a través de la emisión de un certificado de servidor web validado por dominio (DV). En el proceso tocaremos muchos temas útiles, como acceder a la API, crear un CSRy preparar su servidor para la validación del control de dominio. Además, veremos cómo podemos revocar certificados de forma masiva a través de la API, que es especialmente útil en casos de incidencias de seguridad.

La caja de arena

Cualquier tipo de automatización requiere pruebas exhaustivas antes del lanzamiento en un sistema de producción, especialmente cuando hay dinero involucrado. Por esta razón, SSL.com ha implementado y mantiene la Salvadera. Sandbox es un clon de desarrollo de nuestra API de producción. Contiene toda la funcionalidad del original, pero no está conectado a la base de datos de producción. Esto significa que puede crear nuevos usuarios y experimentar libremente sin temor a estropear algo y ser acusado por un error.

Cuando esté satisfecho de que su automatización funciona correctamente en el Sandbox, puede mover su código a producción y asegurarse de que sus scripts no fallarán.

NOTA: Este artículo ha sido desarrollado para Sandbox, y puede experimentar con cualquiera de las llamadas a la API contenidas en este documento.

La API de producción se puede encontrar en la siguiente URL:

https://sws.sslpki.com/

Para realizar llamadas API al Sandbox, solo necesita cambiar el nombre de dominio como se muestra en el siguiente fragmento:

https://sws-test.sslpki.com/

Preparar el medio ambiente

Antes de comenzar a jugar con la API, primero debe preparar un entorno de trabajo. Las herramientas que utilizaremos a lo largo de este tutorial son un terminal de Linux y su editor de texto de confianza.

NOTA: Estas instrucciones han sido escritas para la vainilla Ubuntu Linux distribución, que es un entorno de desarrollo típico que uno puede encontrar en el mundo real. Dicho esto, los scripts proporcionados en este documento también funcionan en Windows a través de Cygwin.

Lo primero que necesitará es un directorio para todos los archivos necesarios. Por el bien de la utilidad, nos referiremos a este directorio como sslcom_api_test/ o "el directorio de trabajo". Para crear e ingresar al directorio, ejecute los siguientes comandos en la terminal.

$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test

A continuación, debes descargar Paquete de certificados intermedios de SSL.com, que es un archivo que contiene todos los archivos de certificado necesarios para acceder de forma segura a la API. De esa manera, cualquier información que intercambie con el servidor API se cifrará y puede estar seguro de que cualquier información confidencial, como las claves API, estará protegida contra escuchas.

Descargue el archivo ZIP del enlace de arriba y descomprímalo en el directorio de trabajo. (Asegúrate de cambiar ~/Downloads en el directorio donde guardó el archivo ZIP, si es necesario). El archivo del certificado que utilizaremos a lo largo de este artículo es SSL_COM_RSA_SSL_SUBCA.crt.

NOTA: En Windows, deberá ubicar el archivo ZIP, hacer doble clic en él y extraer los archivos en el directorio de trabajo.
$ descomprimir ~ / Descargas / SSLcom_DV_CA_Zip.zip -d. Archivo: ./SSLcom_DV_CA_Zip.zip extracción: ./SSL_COM_RSA_SSL_SUBCA.crt extracción: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt extracción: ./CERTUM_TRUSTED_NETWORK_CA.crt

Usaremos cURL, una herramienta de red típica de Linux, para todas las llamadas API en este tutorial. cURL puede realizar cualquier operación HTTP y se instala de forma predeterminada en la mayoría de las distribuciones de Linux. Además, cURL se puede instalar fácilmente en Windows a través de los ejecutables binarios proporcionados en la página del proyecto cURL, o seleccionándolo en el instalador de Cygwin. Sin embargo, tenga en cuenta que, dado que la API se basa en formatos abiertos, puede utilizar casi cualquier otra herramienta de red o lenguaje de programación para acceder a ella.

Además, vamos a utilizar OpenSSL para preparar nuestro pedido de certificado. OpenSSL es un kit de herramientas de código abierto que puede realizar casi cualquier operación criptográfica que pueda necesitar. Esta herramienta también está incluida en la lista de paquetes de Cygwin, por lo que puede seleccionarla para la instalación mientras configura su instancia de Cygwin, o instalarla manualmente a través de los archivos binarios provistos en la página de inicio del proyecto.

Finalmente, necesitará dos claves API para trabajar con Sandbox, que están asociadas con su cuenta de usuario. Si aún no tiene una cuenta en el Sandbox, regístrese a través del  formulario de inscripción. El proceso es idéntico a la creación de una cuenta de cliente SSL.com normal. Si ya tiene una cuenta en el Sandbox, puede saltarse este paso de forma segura.

Acceda a la API

Nuestra API SWS se basa en HTTP (el uso de los navegadores de protocolo), y todos los datos se intercambian en el Formato JSON.

La mayoría de las llamadas API requerirán que incluyas un account_keysecret_key parámetro para fines de autorización. Siempre puede encontrar las credenciales de su cuenta en la página Panel de Sandbox, aunque en este caso las recuperaremos a través de la API.

El comando que aparece en el siguiente fragmento de código lo iniciará en el portal y recuperará la información de su cuenta, incluidas estas claves API. Si está copiando y pegando el comando en una ventana de terminal, asegúrese de reemplazar USERNAME y PASSWORD con las credenciales de su cuenta.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET --data-urlencode 'contraseña = PASSWORD' \ 'https: //sws-test.sslpki.com / user / USERNAME '{"login": "JDemo", "email": "jdemo@mailinator.com", "account_number": "abc-1ec6012", "account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "estado": "habilitado", "user_url": "https: //sws-test.sslpki.com / users / 1322857 "," fondos_disponibles ":" $ 0.00 "}

Aunque sintaxis de cURL es bastante sencillo, vamos a familiarizarnos con él examinando la llamada anterior en detalle.

  • -L indica a cURL que siga todas las redirecciones HTTP. Debe incluir esta opción en todas las llamadas para evitar problemas.
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt da instrucciones a cURL para validar el certificado del servidor API, con el certificado que descargamos en el paquete. Esto permitirá que cURL encripte todos los datos enviados al servidor.
  • --request GET indica a cURL que realice una solicitud HTTP GET. Algunas llamadas solo aceptan solicitudes HTTP POST o PUT. Esta opción es la forma de manejar tales solicitudes.
  • --data-urlencode prepara la contraseña de la cuenta para ser transmitida al servidor. Las solicitudes GET pueden incluir parámetros en la URL, mientras que las solicitudes PUT y POST solo incluyen parámetros en el cuerpo. Dado que la contraseña se pasará a través de la URL, debemos codificarla para escapar de cualquier símbolo (p. Ej. / , ? or # ) que podría confundir al servidor. Este proceso se llama Codificación URL.
NOTA: La barra invertida (\) al final de la primera línea obliga al terminal de Linux a ignorar un carácter de nueva línea y continuar analizando caracteres en la siguiente línea como parte del comando original. Usaremos esta sintaxis para dividir comandos largos en varias líneas, en un intento de hacerlos más presentables.

El resultado de la llamada API es un objeto JSON que contiene información de la cuenta, incluido el account_key y secret_key, requerido en llamadas API posteriores.

Emitir un certificado de servidor

Después de haber preparado el entorno de trabajo y de obtener las claves de la API, ahora está listo para comenzar a jugar con la API. Como ejemplo, solicitaremos la emisión de un Certificado SSL básico para un servidor web imaginario llamado example.ssl.com. Independientemente de si utiliza la API o el portal del cliente, la emisión de un certificado requiere que se sigan ciertos pasos.

Estos pasos incluyen generar un par de claves pública y privada, crear un Solicitud de firma de certificado (CSR), creando una orden de certificado y realizando la validación de control de dominio.

Genera el CSR

Existen varios métodos para crear un CSR, sin embargo, dado que ya estamos usando la terminal, veamos cómo crear una CSR con OpenSSL. Si ya tienes un CSR puede usar para este propósito, puede omitir este paso.

A CSR es un archivo codificado en base64 que contiene la mayor parte de la información que se incluirá en el archivo final del certificado. Entre sus contenidos más importantes están los Llave pública y nombre de dominio del servidor se emitirá el certificado para.

Eso significa que necesitaremos un par de claves públicas antes de emitir un CSR. El siguiente comando creará un nuevo PEM archivo en el directorio de trabajo, llamado example.ssl.com.key, que contiene las dos claves.

$ openssl genrsa -out example.ssl.com.key 2048 Generando clave privada RSA, módulo largo de 2048 bits ................... +++ ...... .................................................. ...... +++ e es 65537 (0x010001)

Usando el par de claves, OpenSSL ahora puede generar un CSR para ti. Para lograr esto, utilice el comando que se muestra en el siguiente fragmento de código.

$ openssl req -new -key ejemplo.ssl.com.key -out ejemplo.ssl.com.csr

Se le pedirá que ingrese información que se incorporará a su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama un Nombre Distinguido o DN. Hay bastantes campos, pero puede dejar algunos en blanco. Para algunos campos habrá un valor predeterminado. Si ingresa '.', El campo se dejará en blanco. ----- Nombre del país (código de 2 letras) [AU]: Estado o provincia de EE. UU. Nombre (nombre completo) [Algún estado]: Nombre de la localidad de Texas (por ejemplo, ciudad) []: Nombre de la organización de Houston (por ejemplo, empresa) [Internet Widgits Pty Ltd]: Ejemplo de nombre de unidad organizativa (por ejemplo, sección) []: Ejemplo de nombre común del departamento (por ejemplo, servidor FQDN o SU nombre) []: ejemplo.ssl.com Dirección de correo electrónico []: admin@example.ssl. com Por favor ingrese los siguientes atributos 'extra' para ser enviados con su solicitud de certificado Una contraseña de desafío []: Un nombre de empresa opcional []:

OpenSSL le preguntará sobre su información de contacto básica y el Nombre común del certificado. Para los certificados SSL, el nombre común es el nombre de dominio del servidor (en este caso example.ssl.com) Ejecutar el comando anterior creará un archivo llamado example.ssl.com.csr, en el directorio actual que contiene la base64 codificada CSR.

$ gato ejemplo.ssl.com.csr 

-----BEGIN CERTIFICATE REQUEST-----
MIIC5DCCAcwCAQAwgZ4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
A1UEBwwHSG91c3RvbjEQMA4GA1UECgwHRXhhbXBsZTEbMBkGA1UECwwSRXhhbXBs
ZSBEZXBhcnRtZW50MRgwFgYDVQQDDA9leGFtcGxlLnNzbC5jb20xJDAiBgkqhkiG
9w0BCQEWFWFkbWluQGV4YW1wbGUuc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAN7XMG7+zhaGfimdD1F0P3xxUS8dC6knKId3ONEt14Wa5E62
ZIUkyNgQC7gd3Be31jBhcuzJKn8UbTcWnPXd3OCbznbkqXtnljiF3yN9cRnj2f7y
89Hfmje8C07xe6AsoUMSTYzwsoo3zai1bxOUhy+uDU8FzxcSHunepdx/naHXY1Md
waQwzBCp668hFeIOslEjkTCNle3HK1LrgjZCIg0tyHBuZTNuUcQOyXrrDSrtOxx8
dqOD7sYqJie2xiCC9kkpNGYYTEuCuVKidgiC3e/DuLUNbhoUMfSENv64TGA7lRIj
nEBrrEm6FOSgPEGgEsM78cexVaqNCavNXNy49ysCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQAV1Ac9nYH64BrB4OHlOYPkZbK6qCKfipTg7s4Xdcc3TponjTnMJyaQ
NNh0koCUOFJaYPjWIk/YkCeGNv/fbce+sddNbh0jtcVTPw8EFvs53IaUAE99zDvn
577Azj+OXfmaLQXjK15BtnT5hbmRKsrpPxnAdk4NOohM7QKWNEdBrcfTuH1q3WpD
6jSD35FlIFUfMgNi34mxF4vYamGrWgdURIb7DCk2h7B2LQK+vRNx1uPm9FVSeYZc
tHZWTiw2xEExw2Qco6lqXYl8t0Eo07gYl4gAEx9bibvVqYMo3Zss1mRg6+WEB8Xs
G+Hn1TG3XIaIbmvlpRNma/l766KZwLXG
-----END CERTIFICATE REQUEST-----

Crear el pedido de certificado

Habiendo obtenido el CSR, ahora está listo para crear un pedido de certificado a través de la API. La primera llamada API que vimos fue una solicitud GET, mientras que esta es una POST. Las solicitudes POST deben incluir todos los parámetros en sus cuerpos como objetos JSON. En consecuencia, debe formatear los parámetros del pedido de certificado en JSON. Se puede encontrar una configuración JSON para este ejemplo en el siguiente fragmento.

{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "product": "106", "period": "365", "server_software": "15", "organization_name" : "Example", "street_address_1": "Example st", "locality_name": "Houston", "state_or_province_name": "Texas", "postal_code": "77777", "country_name": "US", "duns_number": "1234567", "número_empresa": "Número de ejemplo", "nombre_país_registrado": "EE. UU.", "Valor_unico": "1ed1c72baf", "csr":" ----- COMENZAR SOLICITUD DE CERTIFICADO ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- FINALIZAR SOLICITUD DE CERTIFICADO ----- "}

Ya hemos visto las claves API antes. Sin embargo, para pedir certificados también tenemos que incluir parámetros adicionales como el product ID y la validez period. Puede encontrar una lista de ID de productos en el Documentación de la API de SWS. En este ejemplo, el pedido se realiza por un certificado SSL básico con un período de validez de 1 año. El siguiente grupo de parámetros almacena información de contacto sobre el registrante (ese es usted). los unique_value parámetro (opcional), contiene una cadena alfanumérica que asegura la unicidad de la solicitud. Si no proporciona un valor único, se generará uno aleatorio. Especificar un valor único de esta manera es útil si desea generar archivos DCV o entradas CNAME fuera del portal de usuarios de SSL.com. Finalmente, el csr El parámetro debe contener una base64 válida codificada CSR, como el que guardamos en example.ssl.com.csr.

Reemplace los parámetros con los valores propios y CSRy guarde esta configuración JSON en un archivo llamado example.ssl.com.json.

Nota: Asegúrese de haber eliminado todos los caracteres de nueva línea del CSR antes de agregarlo al comando. Las nuevas líneas se utilizan para indicar al terminal que procese el texto ingresado hasta el carácter de nueva línea. Dejar los caracteres adentro podría hacer que sus comandos cURL fallen.

Con todo configurado, ahora está listo para crear su pedido. cURL acepta los parámetros JSON como una cadena en línea o mediante un nombre de archivo. Debido a que la primera opción es demasiado detallada, pasemos el nombre del archivo.

Por favor tome nota de la --data-binary interruptor cURL, que indica a cURL que incluya el contenido del archivo en el cuerpo de la solicitud POST.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request POST --header "Content-Type: application / json" \ --data-binary "@ example.ssl.com.json" 'https: // sws-test .sslpki.com / certificate '{"ref": "co-ac1ecm200", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example st", "street_address_2": null, "street_address_3": null, "locality": "Houston", "state_or_province": "Texas", "post_office_box": null, "postal_code": "77777", "country": "US", "email": null} , "order_status": "validación requerida", "validaciones": nulo, "order_amount": "$ 49.00", "certificate_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200 "," Recibo_url ":" https://sandbox.ssl.com/team/abc-1ec6012/orders/fe3b-1ecm201 "," smart_seal_url ":" https://sandbox.ssl.com/team/abc-1ec6012 / certificate_orders / co-ac1ecm200 / site_seal "," validation_url ":" https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200/validation "," external_order_number ": nulo," certificados ": nulo }

El resultado de la operación es otro objeto JSON que contiene los detalles del pedido de certificado recién creado. Podemos ver su order_status, y su número de referencia en el ref parámetro que se usa para hacer referencia a este orden en todas las llamadas API posteriores. Además, la salida contiene varias URL, como el certificate_url, que apunta a los detalles del pedido en el portal y al validation_url, que apunta a la página de validación del pedido.

Finalmente, certificates contendrá todos los certificados asociados con el pedido. Como el pedido aún no se ha validado, no se han creado certificados.

Validación de control de dominio

Como se indica en el pedido del certificado order_status of validation required, debe realizar la validación antes de emitir un certificado.

Las CA de confianza pública (como SSL.com) deben verificar que el comprador del certificado realmente controla el servidor para el que se emitirá el certificado antes de emitir cualquier certificado. Esto se puede lograr mediante múltiples métodos, y puede ver todos los métodos de validación disponibles para un pedido específico a través de esta próxima llamada a la API.

Asegúrate de reemplazar el número de referencia coac1ecm200 en la URL con el número de referencia de su pedido, que se generó en la llamada API anterior.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'clave_secreta = FY + s9 / ghUrv7SQ ==' --data-urlencode 'clave_cuenta = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certificate / co-ac1ecm200 / validations / methods '{"instructions": "https://www.ssl.com/faqs/ssl-dv-validation-requirements/", "md5_hash": "29BD4C00B65613CCEC04C19C0050D931", " sha2_hash ": "BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751", "dns_sha2_hash": "BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252E35F9D751.167c8a5c49", "dcv_methods": { "example.ssl.com": { "EMAIL_ADDRESSES": [ "admin@ssl.com"," administrador @ SSL .com "," webmaster@ssl.com "," hostmaster@ssl.com "," postmaster@ssl.com "," admin@example.ssl.com "," administrador@example.ssl.com "," webmaster @ example.ssl.com "," hostmaster@example.ssl.com "," postmaster@example.ssl.com "]," http_csr_hash ": {" http ":" http://example.ssl.com/.well-known/pki-validation / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" true "," contents ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35Fssc9D.com "c \ n751ssc167ccsr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Nombre ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," valor ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAE0945252D35. com "}

La salida devuelta incluirá toda la información que necesita para realizar la validación de control de dominio. Por ejemplo, si desea usar el http_csr_hash  método de validación, debe crear un archivo en el servidor para el que se emitirá este certificado, denominado .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt. El archivo debe exactamente contener el valor de la contents parámetro.

Después, puedes visitar el validation_url encontrado en la llamada anterior que creó el pedido y proceda con la validación como lo haría normalmente con un pedido que ha creado a través de su portal del cliente. (Siempre puedes visitar el Validaciones página y encuentre la URL para el pedido específico).

Después de una validación de control de dominio exitosa, se emitirá el certificado y podrá descargarlo.

Recuperar el certificado

Puede encontrar su certificado en el portal web o recuperarlo a través de la API. Para nuestros propósitos usaremos la API. Como se vio en la sección anterior, al crear un nuevo pedido de certificado, la respuesta contiene un número de referencia. Este número se puede utilizar para recuperar los detalles del pedido, incluidos los datos reales del certificado.

$ curl --request GET -L --cacert SSL_COM_RSA_SSL_SUBCA.crt \ --data-urlencode 'clave_secreta = FY + s9 / ghUrv7SQ ==' --data-urlencode 'clave_cuenta = 4497618e5c98' \ 'https: // sws-test .sslpki.com / certificate / co-ac1ecm200? response_type = individualmente & response_encoding = base64 '{"description": "SSL básico de 1 año", "product": "106", "product_name": "basicssl", "order_status": "emitido" , "order_date": "2019-05-02T10: 08: 48.000-05: 00", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example st", " street_address_2 ": null," street_address_3 ": null," locality ":" Houston "," state_or_province ":" Texas "," post_office_box ": null," postal_code ":" 77777 "," country ":" US "," correo electrónico ": null}," certificados ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," common_name ":" example.ssl.com "," domains_qty_purchased "wildcard": "1qty", 0 "," subject_alternative_names ": [" ejemplo.ssl.com "," www.example.ssl.com "]," validaciones ": nulo," fecha_efectiva ":" 2019-05-03T11: 22: 37.000-05: 00 "," expiration_date ":" 2020-05-02T11: 22: 37.000-05: 00 "," algoritmo ":" SHA256 "," external_order_number ": null," domains ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": 15," contactos ": [{...}, {...}]}

Dado que la API debe usarse mediante programación, debe analizar la respuesta JSON para aislar el certificado y guardarlo en un archivo. El análisis JSON está más allá del alcance de este artículo; sin embargo, es una tarea simple que puede implementarse fácilmente en la mayoría de los lenguajes de programación o scripting modernos.

Si no tiene el número de referencia a mano, puede realizar una llamada a la API para recuperar todos los pedidos de certificados de su cuenta. Esta llamada le permite filtrar los pedidos, así como qué información se mostrará.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'clave_secreta = FY + s9 / ghUrv7SQ ==' --data-urlencode 'clave_cuenta = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certificate? fields = domains, ref, order_status '[{"ref": "co-ac1ecm200", "order_status": "emitido", "domains": ["example.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" validando, espere "," domains ": [" example.ssl.com "]}, {" ref ":" co-6f1ecm1of "," order_status ": "esperando información de contactos del cliente", "dominios": ["test.ssl.com"]}}

El fields El parámetro URL le permite controlar qué detalles del certificado se mostrarán en la salida. También puede paginar a través de per_page y page Parámetros de solicitud. Para limitar el número de certificados en función de sus fechas de emisión, puede utilizar start y end parámetros Finalmente, puede filtrar y buscar los pedidos utilizando criterios como el ID del producto, la fecha de vencimiento o cualquier otro campo contenido en el certificado. Para más información eche un vistazo a Documentación de la API de SSL.com.

Revocar el certificado

La característica final que veremos en esta guía es la revocación de certificados en masa. Los certificados pueden protegerlo siempre que solo usted (o las personas de su confianza) posean la clave privada asociada a ellos. En caso de que una clave privada se vea comprometida, o cualquier información en el certificado necesite ser cambiada, entonces el certificado debe ser revocado inmediatamente y se debe emitir una nueva.

En los casos en que se sospeche que se ha robado la clave privada, es imperativo que el software del cliente (como los navegadores o los sistemas operativos) deje de aceptarla tan pronto como sea posible. Por esta razón, le recomendamos que implemente un sistema automatizado de revocación, reemisión, recuperación e instalación de certificados en sus servidores.

La API SWS de SSL.com le permite revocar mediante programación uno, más o todos los certificados en cualquiera de sus pedidos de certificados. La siguiente llamada a la API revocará todos los certificados bajo pedido de certificado coac1ecm200:

curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request DELETE --header "Content-Type: application / json" \ --data-binary '{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ = = "," motivo ":" robado "} '\' https: //sws.sslpki.com / certificate / co-ac1ecm200 '{"status": "revooked"}

Este comando cURL emite una solicitud HTTP DELETE (en lugar de GET o POST como los comandos anteriores) y proporciona la configuración JSON en línea. También es válido crear un archivo con el contenido JSON y pasarlo a cURL a través del nombre del archivo de la misma manera que el comando que emitió la orden de certificado.

Puede especificar cualquier razón que desee en el reason  y, opcionalmente, puede incluir una lista de números de serie de certificados en el JSON para revocar solo los certificados que coincidan con esas series Si no se incluyen números de serie, se revocarán todos los certificados que pertenezcan al pedido de certificado especificado.

Para obtener más información sobre esta llamada API, eche un vistazo a nuestro Documentación de la API.

Conclusión

Este artículo describe un proceso sencillo para emitir y revocar un certificado de servidor DV, como un ejemplo simplista de las operaciones que puede realizar a través de la API de SWS de SSL.com. En SSL.com fomentamos el uso de la automatización siempre que sea posible porque elimina la molestia de realizar manualmente las mismas tareas repetitivas y, lo que es más importante, permite tiempos de respuesta más rápidos en casos de emergencia problema de entropía del número de serie).

Por favor, siéntase libre de experimentar con nuestro Salvadera y API SWSy no dude en ponerse en contacto con nuestros agentes de soporte si tiene algún problema.

¡Gracias por elegir SSL.com! Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico a Support@SSL.com, llamada 1-877-SSL-SECURE, o simplemente haga clic en el enlace de chat en la parte inferior derecha de esta página. También puede encontrar respuestas a muchas preguntas de soporte comunes en nuestro base de conocimientos.
Twitter
Facebook
Etiqueta LinkedIn
Reddit
Correo electrónico

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.