Subir certificado
El .p12 de tu PSC queda cifrado con envelope encryption — paso a paso por dashboard y API.
El certificado digital .p12 es lo que Notta usa para firmar cada DTE en
nombre tuyo. Sin él, no se puede emitir.
Requisitos
- Archivo
.p12o.pfxválido emitido por un PSC (Acepta, eCertChile, IDOK, eFactor, etc). - Password del
.p12, el mismo que te entregó el PSC. - El certificado se emite a una persona natural, así que su RUT normalmente no coincide con el de la empresa. Es lo esperado y Notta lo acepta: lo que el SII exige es que ese titular esté autorizado para firmar por la empresa.
Vía dashboard
- Abre app.notta.cl/app/certificates.
- Arrastra tu
.p12al recuadro de carga. - Ingresa el password.
- Etiqueta el cert ("Producción", "Backup", etc).
- Click Subir.
Vas a ver un check con la fecha de expiración y el RUT del titular. El sistema te avisa 30 días antes de que expire.
Vía API
Este endpoint acepta Authorization: Bearer con una key de scope
certificates:write, o la cookie de sesión del dashboard. El shape del request
y la respuesta:
Salida esperada (201 Created):
El id de la respuesta es el que va en el header X-Cert-Id al emitir —
anótalo (también lo ves en el dashboard).
Vía CLI — en camino
@notta/cli todavía no está publicado en npm, así que el binario notta no se
puede instalar. El dashboard y la API cubren el flujo completo. Los comandos
previstos están en CLI Reference.
Seguridad
- Tu
.p12se cifra antes de tocar disco con AES-256-GCM. - El password se guarda dentro del mismo blob cifrado que el
.p12— no tiene columna propia y nunca queda en claro. Se descifra en memoria cada vez que hay que firmar un documento o entrar al portal del SII por ti. - Cada operación que descifra el cert escribe un entry en
audit_log. - Rotar la KEK no requiere re-subir el cert — sólo re-wrapping del DEK.
Errores comunes
| Código | Cuándo | Acción |
|---|---|---|
cert.invalid_request | Falta file, password o label en el form-data | Manda los tres campos y reintenta |
cert.duplicate | El mismo .p12 ya está subido en tu org | Usa el cert existente o sube uno distinto |
org.required | Tu cuenta todavía no tiene organización | Completa el onboarding de la org primero |
cert_expired | El cert venció (se detecta al emitir) | Sube el cert renovado |
Próximos pasos
- Tu primer DTE — sigue el quickstart desde el paso 2: cargar folios (CAF) y emitir tu primera Factura 33.
- Autenticación — API keys, prefijos por entorno, scopes y rotación.
- Errores — catálogo completo con
next_actionpor código.
Última actualización