Triple.TLS (triple v1.0.0)

Copy Markdown View Source

Issues mTLS client certificates against Triple's control-plane host (a different host from the main enrichment/data API — see Triple.Config).

Summary

Functions

Issues a new TLS certificate from a PEM-encoded public key.

Same as issue_certificate/2, but raises instead of returning {:error, _}.

Functions

issue_certificate(config, attrs)

@spec issue_certificate(Triple.Config.t(), map() | keyword()) ::
  {:ok, Triple.Types.TLSCertificate.t()} | {:error, Triple.Error.t()}

Issues a new TLS certificate from a PEM-encoded public key.

attrs matches Triple.Types.TLSCertificateRequest:

  • :public_key — PEM-encoded RSA (>= 2048-bit) or ECDSA public key (required)
  • :lifetime — validity in days, 60..365 (required)

The returned pem_certificate is only ever present on this creation response — persist it immediately if you'll need it later.

Examples

Triple.TLS.issue_certificate(client, %{public_key: pem, lifetime: 365})
#=> {:ok, %Triple.Types.TLSCertificate{pem_certificate: "-----BEGIN CERTIFICATE-----..."}}

issue_certificate!(config, attrs)

@spec issue_certificate!(Triple.Config.t(), map() | keyword()) ::
  Triple.Types.TLSCertificate.t()

Same as issue_certificate/2, but raises instead of returning {:error, _}.