/* * OCPP.Core - https://github.com/dallmann-consulting/OCPP.Core * Copyright (C) 2020-2021 dallmann consulting GmbH. * All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace OCPP.Core.Server.Messages_OCPP20 { #pragma warning disable // Disable all warnings /// Used algorithms for the hashes provided. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public enum HashAlgorithmEnumType { [System.Runtime.Serialization.EnumMember(Value = @"SHA256")] SHA256 = 0, [System.Runtime.Serialization.EnumMember(Value = @"SHA384")] SHA384 = 1, [System.Runtime.Serialization.EnumMember(Value = @"SHA512")] SHA512 = 2, } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public partial class OCSPRequestDataType { [Newtonsoft.Json.JsonProperty("customData", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public CustomDataType CustomData { get; set; } [Newtonsoft.Json.JsonProperty("hashAlgorithm", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public HashAlgorithmEnumType HashAlgorithm { get; set; } /// Hashed value of the Issuer DN (Distinguished Name). /// /// [Newtonsoft.Json.JsonProperty("issuerNameHash", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [System.ComponentModel.DataAnnotations.StringLength(128)] public string IssuerNameHash { get; set; } /// Hashed value of the issuers public key /// [Newtonsoft.Json.JsonProperty("issuerKeyHash", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [System.ComponentModel.DataAnnotations.StringLength(128)] public string IssuerKeyHash { get; set; } /// The serial number of the certificate. /// [Newtonsoft.Json.JsonProperty("serialNumber", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [System.ComponentModel.DataAnnotations.StringLength(40)] public string SerialNumber { get; set; } /// This contains the responder URL (Case insensitive). /// /// [Newtonsoft.Json.JsonProperty("responderURL", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [System.ComponentModel.DataAnnotations.StringLength(512)] public string ResponderURL { get; set; } } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public partial class AuthorizeRequest { [Newtonsoft.Json.JsonProperty("customData", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public CustomDataType CustomData { get; set; } [Newtonsoft.Json.JsonProperty("idToken", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required] public IdTokenType IdToken { get; set; } = new IdTokenType(); /// The X.509 certificated presented by EV and encoded in PEM format. /// [Newtonsoft.Json.JsonProperty("certificate", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] [System.ComponentModel.DataAnnotations.StringLength(5500)] public string Certificate { get; set; } [Newtonsoft.Json.JsonProperty("iso15118CertificateHashData", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] [System.ComponentModel.DataAnnotations.MinLength(1)] [System.ComponentModel.DataAnnotations.MaxLength(4)] public System.Collections.Generic.ICollection Iso15118CertificateHashData { get; set; } } }