mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-21 09:06:37 +08:00
filter CertifiicateStatusCodes before returing to client
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user