73ee7591e8
Former-commit-id: d18deab1b47cfd3ad8cba82b3f37d00eec2170af
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
#if SECURITY_DEP
|
|
#if MONO_SECURITY_ALIAS
|
|
extern alias MonoSecurity;
|
|
#endif
|
|
|
|
#if MONO_SECURITY_ALIAS
|
|
using MonoSecurity::Mono.Security.Interface;
|
|
#else
|
|
using Mono.Security.Interface;
|
|
#endif
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Net.Security;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
|
|
namespace Mono.Net.Security
|
|
{
|
|
abstract class MobileTlsProvider : MonoTlsProvider
|
|
{
|
|
public sealed override IMonoSslStream CreateSslStream (
|
|
Stream innerStream, bool leaveInnerStreamOpen,
|
|
MonoTlsSettings settings = null)
|
|
{
|
|
return SslStream.CreateMonoSslStream (innerStream, leaveInnerStreamOpen, this, settings);
|
|
}
|
|
|
|
internal abstract MobileAuthenticatedStream CreateSslStream (
|
|
SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen,
|
|
MonoTlsSettings settings);
|
|
|
|
/*
|
|
* If @serverMode is true, then we're a server and want to validate a certificate
|
|
* that we received from a client.
|
|
*
|
|
* On OS X and Mobile, the @chain will be initialized with the @certificates, but not actually built.
|
|
*
|
|
* Returns `true` if certificate validation has been performed and `false` to invoke the
|
|
* default system validator.
|
|
*/
|
|
internal abstract bool ValidateCertificate (
|
|
ChainValidationHelper validator, string targetHost, bool serverMode,
|
|
X509CertificateCollection certificates, bool wantsChain, ref X509Chain chain,
|
|
ref SslPolicyErrors errors, ref int status11);
|
|
}
|
|
}
|
|
|
|
#endif
|