filter CertifiicateStatusCodes before returing to client

This commit is contained in:
Roman Ettlinger
2026-05-02 20:07:09 +02:00
committed by mrsuciu
parent 1f4cf50f26
commit 0380603d49
@@ -2620,7 +2620,20 @@ namespace Opc.Ua.Server
byte[] clientCertificate,
ServiceResult result)
{
throw new ServiceResultException(result);
// see https://reference.opcfoundation.org/Core/Part4/v105/docs/6.1.3
StatusCode resultCode = result.StatusCode;
if (resultCode == StatusCodes.BadCertificateInvalid ||
resultCode == StatusCodes.BadCertificateRevoked ||
resultCode == StatusCodes.BadCertificateUntrusted ||
resultCode == StatusCodes.BadCertificateIssuerRevoked ||
resultCode == StatusCodes.BadCertificateRevocationUnknown ||
resultCode == StatusCodes.BadCertificateChainIncomplete ||
resultCode == StatusCodes.BadCertificateIssuerRevocationUnknown)
{
resultCode = StatusCodes.BadSecurityChecksFailed;
}
throw new ServiceResultException(new ServiceResult(resultCode, result));
}
/// <summary>