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.
Properties
Section titled “Properties”CommonName
Section titled “CommonName”string CommonName { get; init; }The subject’s common name.
ReadOnlyMemory<byte> Csr { get; init; }The PKCS#10 request, DER.
DeviceId
Section titled “DeviceId”Guid? DeviceId { get; init; }The managed device the certificate is for; it is listed with the device’s certificates. Null for OADM’s own.
DnsNames
Section titled “DnsNames”IReadOnlyList<string> DnsNames { get; init; }Host names for the alternative names, e.g. axis-<serial>.local.
IpAddresses
Section titled “IpAddresses”IReadOnlyList<string> IpAddresses { get; init; }IP addresses for the alternative names.
IssuerId
Section titled “IssuerId”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.
Purpose
Section titled “Purpose”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).
Source
Section titled “Source”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.
Validity
Section titled “Validity”TimeSpan? Validity { get; init; }How long it is valid; null = the CA’s setting for device certificates. Always ends with the CA.