25 lines
785 B
C#
25 lines
785 B
C#
using System;
|
|
using System.Collections.Immutable;
|
|
using System.Linq;
|
|
|
|
namespace StellaOps.Cryptography.Kms;
|
|
|
|
public sealed partial class FileKmsClient
|
|
{
|
|
private static KmsKeyMetadata ToMetadata(KeyMetadataRecord record)
|
|
{
|
|
var versions = record.Versions
|
|
.Select(v => new KmsKeyVersionMetadata(
|
|
v.VersionId,
|
|
v.State,
|
|
v.CreatedAt,
|
|
v.DeactivatedAt,
|
|
v.PublicKey,
|
|
v.CurveName))
|
|
.ToImmutableArray();
|
|
|
|
var createdAt = record.CreatedAt
|
|
?? (versions.Length > 0 ? versions.Min(v => v.CreatedAt) : TimeProvider.System.GetUtcNow());
|
|
return new KmsKeyMetadata(record.KeyId, record.Algorithm, record.State, createdAt, versions);
|
|
}
|
|
} |