Pedir certificado del cliente

POST
https://www.digicert.com/services/v2/order/certificate/{{client_certificate_id}}

Esta página describe los productos con el nombre de grupo client_certificate (vea Glosario: identificadores de productos).

Use este terminal para enviar un pedido de solicitud de certificado de cliente usando client_premium_sha2,, client_email_security_plus, client_authentication_plus o client_digital_signature_plus_sha2 como el client_certificate_id.

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{client_certificate_id}}' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "common_name": "Lock Cole",
    "emails": [
      "locke.cole@example.com"
    ],
    "signature_hash": "sha256",
    "organization_units": [
      "Accounting"
    ],
    "csr": "<csr>"
  },
  "skip_approval": true,
  "organization": {
    "id": 112233
  },
  "container": {
    "id": 445566
  },
  "validity_years": 1,
  "payment_method": "balance"
}'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/{{client_certificate_id}}"

payload = "{\n  \"certificate\": {\n    \"common_name\": \"Lock Cole\",\n    \"emails\": [\n      \"locke.cole@example.com\"\n    ],\n    \"signature_hash\": \"sha256\",\n    \"organization_units\": [\n      \"Accounting\"\n    ],\n    \"csr\": \"<csr>\"\n  },\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 112233\n  },\n  \"container\": {\n    \"id\": 445566\n  },\n  \"validity_years\": 1,\n  \"payment_method\": \"balance\"\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
Go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://www.digicert.com/services/v2/order/certificate/{{client_certificate_id}}"

	payload := strings.NewReader("{\n  \"certificate\": {\n    \"common_name\": \"Lock Cole\",\n    \"emails\": [\n      \"locke.cole@example.com\"\n    ],\n    \"signature_hash\": \"sha256\",\n    \"organization_units\": [\n      \"Accounting\"\n    ],\n    \"csr\": \"<csr>\"\n  },\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 112233\n  },\n  \"container\": {\n    \"id\": 445566\n  },\n  \"validity_years\": 1,\n  \"payment_method\": \"balance\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'POST',
  url: 'https://www.digicert.com/services/v2/order/certificate/{{client_certificate_id}}',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { common_name: 'Lock Cole',
        emails: [ 'locke.cole@example.com' ],
        signature_hash: 'sha256',
        organization_units: [ 'Accounting' ],
        csr: '<csr>' },
     skip_approval: true,
     organization: { id: 112233 },
     container: { id: 445566 },
     validity_years: 1,
     payment_method: 'balance' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
201 Created (one-step approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "pending"
        }
    ]
}
201 Created (two-step approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "submitted"
        }
    ]
}
201 Created (auto approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "approved"
        }
    ],
    "certificate_id": 113
}

Parámetros de la solicitud

Nombre Solicitud/opción Tipo Descripción
certificate obligatorio object Detalles del certificado.
.. common_name obligatorio string Nombre que se protegerá.
.. emails obligatorio array Correos electrónicos que se deben colocar en el certificado.
.. signature_hash obligatorio string Algoritmo de cifrado usado para firmar el certificado.
Valores permitidos: sha256
.. organization_units opcional array Departamento de su organización vinculado con el certificado.
.. csr opcional string Solicitud de firma del certificado (CSR).
auto_renew opcional int Cantidad de veces que el certificado se debe renovar automáticamente.
renewal_of_order_id opcional int Si el pedido es una renovación, ingrese la Id. del pedido anterior.
skip_approval opcional bool Especifique si el pedido debe omitir el paso de aprobación y si debe enviarse de inmediato para su validación y emisión cuando se haya completado.
Predeterminado: false
organization obligatorio object Organización para vincular con el pedido.
.. id obligatorio int Id. de organización.
container opcional object Si fuera necesario, especifique el contenedor en el que se debe colocar el pedido.
.. id opcional int Id. de contenedor.
validity_years obligatorio int La cantidad de años durante los que el certificado es válido.
Puede reemplazarse por custom_expiration_date.
Valores permitidos: 1, 2
custom_expiration_date opcional string Fecha de vencimiento personalizada para un certificado. La fecha debe ser menor que 825 días en el futuro.
Anula validity_years
Formato: yyyy-MM-dd
custom_fields opcional* object Campos personalizados específicos de una cuenta.
*El hecho de que estos campos sean o no obligatorios depende de su configuración de los campos personalizados.
.. metadata_id obligatorio int Id. de campo personalizado.
.. value obligatorio string Valor para el campo personalizado.
El tipo de validación de datos depende de su configuración de los campos personalizados.
payment_method opcional string Especifique el método de pago que se debe usar.
Valores permitidos: balance, card, profile
Predeterminado: balance

Parámetros de la respuesta

Nombre Tipo Descripción
id int Id. del pedido.
organization object Contenedor para la información de una nueva organización.
Solo se devolverá si se creó una nueva organización con el pedido.
.. id int Id. de organización de la nueva organización.
requests array Contiene información sobre la solicitud.
.. id int Id. de la solicitud.
.. status string Estado de la solicitud.
Posibles valores: pending, submitted, approved, rejected
certificate_id int Id. de certificado.
Se devuelve si el estado de la solicitud es approved.