You've already forked linux-packaging-mono
Imported Upstream version 4.3.2.467
Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
@@ -28,6 +28,7 @@ using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
using Mono.Security.Protocol.Tls.Handshake;
|
||||
using Mono.Security.Interface;
|
||||
using MonoX509 = Mono.Security.X509;
|
||||
|
||||
namespace Mono.Security.Protocol.Tls
|
||||
@@ -83,14 +84,16 @@ namespace Mono.Security.Protocol.Tls
|
||||
|
||||
this.ServerSettings.UpdateCertificateRSA();
|
||||
|
||||
// Build the chain for the certificate and if the chain is correct, add all certificates
|
||||
// (except the root certificate [FIRST ONE] ... the client is supposed to know that one,
|
||||
// otherwise the whole concept of a trusted chain doesn't work out ...
|
||||
MonoX509.X509Chain chain = new MonoX509.X509Chain (MonoX509.X509StoreManager.IntermediateCACertificates);
|
||||
if (CertificateValidationHelper.SupportsX509Chain) {
|
||||
// Build the chain for the certificate and if the chain is correct, add all certificates
|
||||
// (except the root certificate [FIRST ONE] ... the client is supposed to know that one,
|
||||
// otherwise the whole concept of a trusted chain doesn't work out ...
|
||||
MonoX509.X509Chain chain = new MonoX509.X509Chain (MonoX509.X509StoreManager.IntermediateCACertificates);
|
||||
|
||||
if (chain.Build (cert)) {
|
||||
for (int j = chain.Chain.Count - 1; j > 0; j--)
|
||||
ServerSettings.Certificates.Add (chain.Chain [j]);
|
||||
if (chain.Build (cert)) {
|
||||
for (int j = chain.Chain.Count - 1; j > 0; j--)
|
||||
ServerSettings.Certificates.Add (chain.Chain [j]);
|
||||
}
|
||||
}
|
||||
|
||||
// Add requested certificate types
|
||||
@@ -98,15 +101,16 @@ namespace Mono.Security.Protocol.Tls
|
||||
for (int j = 0; j < this.ServerSettings.CertificateTypes.Length; j++)
|
||||
ServerSettings.CertificateTypes [j] = ClientCertificateType.RSA;
|
||||
|
||||
// Add certificate authorities
|
||||
MonoX509.X509CertificateCollection trusted = MonoX509.X509StoreManager.TrustedRootCertificates;
|
||||
string[] list = new string [trusted.Count];
|
||||
int i = 0;
|
||||
foreach (MonoX509.X509Certificate root in trusted)
|
||||
{
|
||||
list [i++] = root.IssuerName;
|
||||
if (CertificateValidationHelper.SupportsX509Chain) {
|
||||
// Add certificate authorities
|
||||
MonoX509.X509CertificateCollection trusted = MonoX509.X509StoreManager.TrustedRootCertificates;
|
||||
string[] list = new string [trusted.Count];
|
||||
int i = 0;
|
||||
foreach (MonoX509.X509Certificate root in trusted) {
|
||||
list [i++] = root.IssuerName;
|
||||
}
|
||||
this.ServerSettings.DistinguisedNames = list;
|
||||
}
|
||||
this.ServerSettings.DistinguisedNames = list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
Reference in New Issue
Block a user