Skip to content

DeviceCertificateRequest

Record in Oadm.Sdk.Certificates · Oadm.Sdk.dll

A certificate request for IDeviceCertificateAuthority.SignAsync. The subject and alternative names come from OADM, never from the request; the request only gives the public key and proves it holds the private key.

public sealed record DeviceCertificateRequest(ReadOnlyMemory<byte> Csr, string CommonName, IReadOnlyList<string> IpAddresses, IReadOnlyList<string> DnsNames, DeviceCertificateUse Use)

Parameters

  • Csr: The PKCS#10 request, DER.
  • CommonName: The subject’s common name.
  • IpAddresses: IP addresses for the alternative names.
  • DnsNames: Host names for the alternative names, e.g. axis-<serial>.local.
  • Use: Server or client certificate.
string CommonName { get; init; }

The subject’s common name.

ReadOnlyMemory<byte> Csr { get; init; }

The PKCS#10 request, DER.

Guid? DeviceId { get; init; }

The managed device the certificate is for; it is listed with the device’s certificates. Null for OADM’s own.

IReadOnlyList<string> DnsNames { get; init; }

Host names for the alternative names, e.g. axis-<serial>.local.

IReadOnlyList<string> IpAddresses { get; init; }

IP addresses for the alternative names.

string? IssuerId { get; init; }

The CA of PKI’s list that signs (SDK 0.4.0, a CertificateAuthorityInfo.Id: the OADM CA or an imported CA with its key, the CA of the caller’s policy); null = the OADM CA. A CA that cannot issue is refused.

string? Purpose { get; init; }

The use in the list of issued certificates (SDK 0.4.0, one of DeviceCertificatePurposes: HTTPS, IEEE 802.1X, MQTT, RTSPS); null = from DeviceCertificateRequest.Use (HTTPS for a server, IEEE 802.1X for a client certificate).

string? Source { get; init; }

Who asked for it, for the CA’s list (“EST”); null = the CA’s own tasks.

DeviceCertificateUse Use { get; init; }

Server or client certificate.

TimeSpan? Validity { get; init; }

How long it is valid; null = the CA’s setting for device certificates. Always ends with the CA.