-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCertificate.cs
More file actions
63 lines (55 loc) · 2.56 KB
/
Certificate.cs
File metadata and controls
63 lines (55 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Copyright 2025 Keyfactor
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
// and limitations under the License.
using System.Collections.Generic;
using Newtonsoft.Json;
namespace Keyfactor.Extensions.Orchestrator.AxisIPCamera.Model
{
/* Trust Certificates */
public class CACertificate
{
[JsonProperty("alias")] public string Alias { get; set; }
[JsonProperty("certificate")] public string CertAsPem { get; set; }
}
public class CACertificateData
{
[JsonProperty("status")] public Constants.Status Status { get; set; }
[JsonProperty("data")] public List<CACertificate> CACerts { get; set; }
}
/* Client Certificates */
public class Certificate
{
[JsonProperty("alias")] public string Alias { get; set; }
[JsonProperty("certificate")] public string CertAsPem { get; set; }
[JsonProperty("keystore")] public Constants.Keystore Keystore { get; init; }
public Constants.CertificateUsage Binding { get; set; } = Constants.CertificateUsage.Other;
}
public class CertificateData
{
[JsonProperty("status")] public Constants.Status Status { get; set; }
[JsonProperty("data")] public List<Certificate> Certs { get; set; }
}
/* Self-Signed Certificate */
public class SelfSignedCertificate
{
[JsonProperty("alias")] public string Alias { get; set; }
[JsonProperty("key_type")] public string KeyType{ get; set; }
[JsonProperty("keystore")] public string Keystore { get; set; }
[JsonProperty("subject")] public string Subject { get; set; }
[JsonProperty("subject_alt_names")] public string[] SANS { get; set; }
[JsonProperty("valid_from")] public int ValidFrom { get; set; }
[JsonProperty("valid_to")] public int ValidTo { get; set; }
}
public class SelfSignedCertificateData
{
[JsonProperty("data")] public SelfSignedCertificate Cert { get; set; }
}
public class CSRData
{
[JsonProperty("status")] public Constants.Status Status { get; set; }
[JsonProperty("data")] public string CSR { get; set; }
}
}