Table of Contents

Class SecomPresentation

Namespace
EncDotNet.S100.Collections.Secom
Assembly
EncDotNet.S100.Collections.dll

What a SECOM source presented when it was last read, and the outcome (#883), recorded on its Presentation.

public sealed record SecomPresentation : IEquatable<SecomPresentation>
Inheritance
SecomPresentation
Implements
Inherited Members

Constructors

SecomPresentation(string, string?, string?, bool?, IReadOnlyList<string>, bool, SecomPresentationOutcome, DateTimeOffset)

What a SECOM source presented when it was last read, and the outcome (#883), recorded on its Presentation.

public SecomPresentation(string Setting, string? IdentityId, string? Presented, bool? CertificateRequested, IReadOnlyList<string> AcceptableIssuers, bool Signed, SecomPresentationOutcome Outcome, DateTimeOffset At)

Parameters

Setting string

The source's Identity setting when it was read.

IdentityId string

The identity the setting resolved to, or null for none (including a default that isn't set).

Presented string

The MRN (or subject) of the identity presented as a client certificate or as the signer of SECOM 2.0 requests, or null when none was.

CertificateRequested bool?

True when the server asked for a client certificate during the TLS handshake; null when it isn't known (no handshake was seen).

AcceptableIssuers IReadOnlyList<string>

The distinguished names of the CAs the server said it accepts client certificates from.

Signed bool

True when the requests were SECOM 2.0 requests signed with the identity.

Outcome SecomPresentationOutcome

What happened.

At DateTimeOffset

When the source was read.

Properties

AcceptableIssuers

The distinguished names of the CAs the server said it accepts client certificates from.

public IReadOnlyList<string> AcceptableIssuers { get; init; }

Property Value

IReadOnlyList<string>

At

When the source was read.

public DateTimeOffset At { get; init; }

Property Value

DateTimeOffset

CertificateRequested

True when the server asked for a client certificate during the TLS handshake; null when it isn't known (no handshake was seen).

public bool? CertificateRequested { get; init; }

Property Value

bool?

Code

The SecomDiagnosticCodes code of the failure, when the read failed with one.

public string? Code { get; init; }

Property Value

string

IdentityId

The identity the setting resolved to, or null for none (including a default that isn't set).

public string? IdentityId { get; init; }

Property Value

string

Outcome

What happened.

public SecomPresentationOutcome Outcome { get; init; }

Property Value

SecomPresentationOutcome

Presented

The MRN (or subject) of the identity presented as a client certificate or as the signer of SECOM 2.0 requests, or null when none was.

public string? Presented { get; init; }

Property Value

string

Refusals

The identities this source presented and the service refused, oldest first.

public IReadOnlyList<SecomRefusal> Refusals { get; init; }

Property Value

IReadOnlyList<SecomRefusal>

ServerAnchor

The trust anchor the server's TLS certificate chains to (e.g. "MCP MCC"), when it chains to one.

public string? ServerAnchor { get; init; }

Property Value

string

ServerTrust

What was decided about the server's TLS certificate, when a connection got that far: why a server isn't trusted.

public SecomServerTrustOutcome? ServerTrust { get; init; }

Property Value

SecomServerTrustOutcome?

ServiceAsks

True when the service asks for a client certificate or a signed request: only then does the picker show SecomIdentityHints.

public bool ServiceAsks { get; }

Property Value

bool

Setting

The source's Identity setting when it was read.

public string Setting { get; init; }

Property Value

string

Signed

True when the requests were SECOM 2.0 requests signed with the identity.

public bool Signed { get; init; }

Property Value

bool

Methods

HintFor(string, SecomClientIdentity, SecomTrustAnchors)

public SecomIdentityHint HintFor(string id, SecomClientIdentity identity, SecomTrustAnchors anchors)

Parameters

id string
identity SecomClientIdentity
anchors SecomTrustAnchors

Returns

SecomIdentityHint