diff --git a/Stack/Opc.Ua.Core/Security/Certificates/X509AuthorityKeyIdentifierExtension.cs b/Stack/Opc.Ua.Core/Security/Certificates/X509AuthorityKeyIdentifierExtension.cs index 8816980465..4ba5b6b99c 100644 --- a/Stack/Opc.Ua.Core/Security/Certificates/X509AuthorityKeyIdentifierExtension.cs +++ b/Stack/Opc.Ua.Core/Security/Certificates/X509AuthorityKeyIdentifierExtension.cs @@ -160,6 +160,7 @@ namespace Opc.Ua public string KeyId { get { return m_keyId; } + private set { m_keyId = value; } } /// @@ -168,6 +169,7 @@ namespace Opc.Ua public string[] AuthorityNames { get { return m_authorityNames; } + private set { m_authorityNames = value; } } /// @@ -176,6 +178,7 @@ namespace Opc.Ua public string SerialNumber { get { return m_serialNumber; } + private set { m_serialNumber = value; } } #endregion diff --git a/Stack/Opc.Ua.Core/Security/Certificates/X509CRL.cs b/Stack/Opc.Ua.Core/Security/Certificates/X509CRL.cs index 830dfe4188..82f1c19ec3 100644 --- a/Stack/Opc.Ua.Core/Security/Certificates/X509CRL.cs +++ b/Stack/Opc.Ua.Core/Security/Certificates/X509CRL.cs @@ -114,8 +114,19 @@ namespace Opc.Ua public bool VerifySignature(X509Certificate2 issuer, bool throwOnError) { m_issuer = issuer; - Org.BouncyCastle.X509.X509Certificate bccert = new X509CertificateParser().ReadCertificate(issuer.RawData); - m_crl.Verify(bccert.GetPublicKey()); + try + { + Org.BouncyCastle.X509.X509Certificate bccert = new X509CertificateParser().ReadCertificate(issuer.RawData); + m_crl.Verify(bccert.GetPublicKey()); + } + catch (Exception) + { + if (throwOnError) + { + throw new ServiceResultException(StatusCodes.BadCertificateInvalid, "Could not verify signature on CRL."); + } + return false; + } return true; }