|
@@ -189,14 +189,16 @@ public class OcppWebsocketService : WebsocketService<WsClientData>
|
|
|
}
|
|
|
|
|
|
X509Certificate2 clientCertificate = null;
|
|
|
- if (context.Request.Headers.ContainsKey("X-ARR-ClientCert"))
|
|
|
+ if (clientCertificate is null &&
|
|
|
+ context.Connection.ClientCertificate is not null)
|
|
|
{
|
|
|
- byte[] bytes = Encoding.ASCII.GetBytes(context.Request.Headers["X-ARR-ClientCert"]);
|
|
|
- clientCertificate = new X509Certificate2(bytes);
|
|
|
+ clientCertificate = context.Connection.ClientCertificate;
|
|
|
}
|
|
|
- if (context.Connection.ClientCertificate is not null)
|
|
|
+ if (clientCertificate is null &&
|
|
|
+ context.Request.Headers.TryGetValue("X-ARR-ClientCert", out var clientCertString))
|
|
|
{
|
|
|
- clientCertificate = context.Connection.ClientCertificate;
|
|
|
+ byte[] bytes = Convert.FromBase64String(clientCertString);
|
|
|
+ clientCertificate = new X509Certificate2(bytes);
|
|
|
}
|
|
|
if (clientCertificate is null)
|
|
|
{
|