Imported Upstream version 5.18.0.142

Former-commit-id: 7467d4b717762eeaf652d77f1486dd11ffb1ff1f
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-10-09 08:20:59 +00:00
parent e52655b4dc
commit 0abdbe5a7d
1547 changed files with 93792 additions and 47893 deletions

View File

@@ -1,29 +0,0 @@
<Type Name="CertificateSelectionCallback" FullName="Mono.Security.Protocol.Tls.CertificateSelectionCallback">
<TypeSignature Language="C#" Value="public delegate System.Security.Cryptography.X509Certificates.X509Certificate CertificateSelectionCallback(X509CertificateCollection clientCertificates, X509Certificate serverCertificate, string targetHost, X509CertificateCollection serverRequestedCertificates);" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed CertificateSelectionCallback extends System.MulticastDelegate" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Delegate</BaseTypeName>
</Base>
<Parameters>
<Parameter Name="clientCertificates" Type="System.Security.Cryptography.X509Certificates.X509CertificateCollection" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="serverRequestedCertificates" Type="System.Security.Cryptography.X509Certificates.X509CertificateCollection" />
</Parameters>
<ReturnValue>
<ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate</ReturnType>
</ReturnValue>
<Docs>
<param name="clientCertificates">To be added.</param>
<param name="serverCertificate">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="serverRequestedCertificates">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Type>

View File

@@ -1,25 +0,0 @@
<Type Name="CertificateValidationCallback" FullName="Mono.Security.Protocol.Tls.CertificateValidationCallback">
<TypeSignature Language="C#" Value="public delegate bool CertificateValidationCallback(X509Certificate certificate, int[] certificateErrors);" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed CertificateValidationCallback extends System.MulticastDelegate" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Delegate</BaseTypeName>
</Base>
<Parameters>
<Parameter Name="certificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="certificateErrors" Type="System.Int32[]" />
</Parameters>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<param name="certificate">To be added.</param>
<param name="certificateErrors">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Type>

View File

@@ -1,23 +0,0 @@
<Type Name="CertificateValidationCallback2" FullName="Mono.Security.Protocol.Tls.CertificateValidationCallback2">
<TypeSignature Language="C#" Value="public delegate Mono.Security.Protocol.Tls.ValidationResult CertificateValidationCallback2(X509CertificateCollection collection);" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed CertificateValidationCallback2 extends System.MulticastDelegate" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Delegate</BaseTypeName>
</Base>
<Parameters>
<Parameter Name="collection" Type="Mono.Security.X509.X509CertificateCollection" />
</Parameters>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ValidationResult</ReturnType>
</ReturnValue>
<Docs>
<param name="collection">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Type>

View File

@@ -1,115 +0,0 @@
<Type Name="CipherAlgorithmType" FullName="Mono.Security.Protocol.Tls.CipherAlgorithmType">
<TypeSignature Language="C#" Value="public enum CipherAlgorithmType" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed CipherAlgorithmType extends System.Enum" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="Des">
<MemberSignature Language="C#" Value="Des" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType Des = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType None = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Rc2">
<MemberSignature Language="C#" Value="Rc2" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType Rc2 = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Rc4">
<MemberSignature Language="C#" Value="Rc4" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType Rc4 = int32(3)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Rijndael">
<MemberSignature Language="C#" Value="Rijndael" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType Rijndael = int32(4)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="SkipJack">
<MemberSignature Language="C#" Value="SkipJack" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType SkipJack = int32(5)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="TripleDes">
<MemberSignature Language="C#" Value="TripleDes" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.CipherAlgorithmType TripleDes = int32(6)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CipherAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,87 +0,0 @@
<Type Name="ExchangeAlgorithmType" FullName="Mono.Security.Protocol.Tls.ExchangeAlgorithmType">
<TypeSignature Language="C#" Value="public enum ExchangeAlgorithmType" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed ExchangeAlgorithmType extends System.Enum" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="DiffieHellman">
<MemberSignature Language="C#" Value="DiffieHellman" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.ExchangeAlgorithmType DiffieHellman = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ExchangeAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Fortezza">
<MemberSignature Language="C#" Value="Fortezza" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.ExchangeAlgorithmType Fortezza = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ExchangeAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.ExchangeAlgorithmType None = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ExchangeAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="RsaKeyX">
<MemberSignature Language="C#" Value="RsaKeyX" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.ExchangeAlgorithmType RsaKeyX = int32(3)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ExchangeAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="RsaSign">
<MemberSignature Language="C#" Value="RsaSign" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.ExchangeAlgorithmType RsaSign = int32(4)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.ExchangeAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,59 +0,0 @@
<Type Name="HashAlgorithmType" FullName="Mono.Security.Protocol.Tls.HashAlgorithmType">
<TypeSignature Language="C#" Value="public enum HashAlgorithmType" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed HashAlgorithmType extends System.Enum" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="Md5">
<MemberSignature Language="C#" Value="Md5" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.HashAlgorithmType Md5 = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.HashAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.HashAlgorithmType None = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.HashAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Sha1">
<MemberSignature Language="C#" Value="Sha1" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.HashAlgorithmType Sha1 = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.HashAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,25 +0,0 @@
<Type Name="PrivateKeySelectionCallback" FullName="Mono.Security.Protocol.Tls.PrivateKeySelectionCallback">
<TypeSignature Language="C#" Value="public delegate System.Security.Cryptography.AsymmetricAlgorithm PrivateKeySelectionCallback(X509Certificate certificate, string targetHost);" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed PrivateKeySelectionCallback extends System.MulticastDelegate" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Delegate</BaseTypeName>
</Base>
<Parameters>
<Parameter Name="certificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="targetHost" Type="System.String" />
</Parameters>
<ReturnValue>
<ReturnType>System.Security.Cryptography.AsymmetricAlgorithm</ReturnType>
</ReturnValue>
<Docs>
<param name="certificate">To be added.</param>
<param name="targetHost">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Type>

View File

@@ -1,45 +0,0 @@
<Type Name="SecurityCompressionType" FullName="Mono.Security.Protocol.Tls.SecurityCompressionType">
<TypeSignature Language="C#" Value="public enum SecurityCompressionType" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SecurityCompressionType extends System.Enum" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityCompressionType None = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityCompressionType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Zlib">
<MemberSignature Language="C#" Value="Zlib" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityCompressionType Zlib = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityCompressionType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,78 +0,0 @@
<Type Name="SecurityProtocolType" FullName="Mono.Security.Protocol.Tls.SecurityProtocolType">
<TypeSignature Language="C#" Value="public enum SecurityProtocolType" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed SecurityProtocolType extends System.Enum" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Attributes>
<Attribute>
<AttributeName>System.Flags</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="Default">
<MemberSignature Language="C#" Value="Default" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityProtocolType Default = int32(-1073741824)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityProtocolType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Ssl2">
<MemberSignature Language="C#" Value="Ssl2" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityProtocolType Ssl2 = int32(12)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityProtocolType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Ssl3">
<MemberSignature Language="C#" Value="Ssl3" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityProtocolType Ssl3 = int32(48)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityProtocolType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Tls">
<MemberSignature Language="C#" Value="Tls" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.Security.Protocol.Tls.SecurityProtocolType Tls = int32(192)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.SecurityProtocolType</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,254 +0,0 @@
<Type Name="SslClientStream" FullName="Mono.Security.Protocol.Tls.SslClientStream">
<TypeSignature Language="C#" Value="public class SslClientStream : Mono.Security.Protocol.Tls.SslStreamBase" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SslClientStream extends Mono.Security.Protocol.Tls.SslStreamBase" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Mono.Security.Protocol.Tls.SslStreamBase</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslClientStream (System.IO.Stream stream, string targetHost, bool ownsStream);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, string targetHost, bool ownsStream) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="ownsStream" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="ownsStream">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslClientStream (System.IO.Stream stream, string targetHost, System.Security.Cryptography.X509Certificates.X509Certificate clientCertificate);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, string targetHost, class System.Security.Cryptography.X509Certificates.X509Certificate clientCertificate) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="clientCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="clientCertificate">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslClientStream (System.IO.Stream stream, string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, string targetHost, class System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="clientCertificates" Type="System.Security.Cryptography.X509Certificates.X509CertificateCollection" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="clientCertificates">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslClientStream (System.IO.Stream stream, string targetHost, bool ownsStream, Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, string targetHost, bool ownsStream, valuetype Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="ownsStream" Type="System.Boolean" />
<Parameter Name="securityProtocolType" Type="Mono.Security.Protocol.Tls.SecurityProtocolType" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="ownsStream">To be added.</param>
<param name="securityProtocolType">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslClientStream (System.IO.Stream stream, string targetHost, bool ownsStream, Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, string targetHost, bool ownsStream, valuetype Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType, class System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="targetHost" Type="System.String" />
<Parameter Name="ownsStream" Type="System.Boolean" />
<Parameter Name="securityProtocolType" Type="Mono.Security.Protocol.Tls.SecurityProtocolType" />
<Parameter Name="clientCertificates" Type="System.Security.Cryptography.X509Certificates.X509CertificateCollection" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="targetHost">To be added.</param>
<param name="ownsStream">To be added.</param>
<param name="securityProtocolType">To be added.</param>
<param name="clientCertificates">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientCertificates">
<MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Cryptography.X509Certificates.X509CertificateCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientCertSelectionDelegate">
<MemberSignature Language="C#" Value="public Mono.Security.Protocol.Tls.CertificateSelectionCallback ClientCertSelectionDelegate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Mono.Security.Protocol.Tls.CertificateSelectionCallback ClientCertSelectionDelegate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CertificateSelectionCallback</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Dispose(bool disposing) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="disposing">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="~SslClientStream ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PrivateKeyCertSelectionDelegate">
<MemberSignature Language="C#" Value="public Mono.Security.Protocol.Tls.PrivateKeySelectionCallback PrivateKeyCertSelectionDelegate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Mono.Security.Protocol.Tls.PrivateKeySelectionCallback PrivateKeyCertSelectionDelegate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.PrivateKeySelectionCallback</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SelectedClientCertificate">
<MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate SelectedClientCertificate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.X509Certificates.X509Certificate SelectedClientCertificate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ServerCertValidation2">
<MemberSignature Language="C#" Value="public event Mono.Security.Protocol.Tls.CertificateValidationCallback2 ServerCertValidation2;" />
<MemberSignature Language="ILAsm" Value=".event class Mono.Security.Protocol.Tls.CertificateValidationCallback2 ServerCertValidation2" />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CertificateValidationCallback2</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ServerCertValidationDelegate">
<MemberSignature Language="C#" Value="public Mono.Security.Protocol.Tls.CertificateValidationCallback ServerCertValidationDelegate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Mono.Security.Protocol.Tls.CertificateValidationCallback ServerCertValidationDelegate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CertificateValidationCallback</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,230 +0,0 @@
<Type Name="SslServerStream" FullName="Mono.Security.Protocol.Tls.SslServerStream">
<TypeSignature Language="C#" Value="public class SslServerStream : Mono.Security.Protocol.Tls.SslStreamBase" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SslServerStream extends Mono.Security.Protocol.Tls.SslStreamBase" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Mono.Security.Protocol.Tls.SslStreamBase</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslServerStream (System.IO.Stream stream, System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, class System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="serverCertificate">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslServerStream (System.IO.Stream stream, System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool ownsStream);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, class System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool ownsStream) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="clientCertificateRequired" Type="System.Boolean" />
<Parameter Name="ownsStream" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="serverCertificate">To be added.</param>
<param name="clientCertificateRequired">To be added.</param>
<param name="ownsStream">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslServerStream (System.IO.Stream stream, System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool ownsStream, Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, class System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool ownsStream, valuetype Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="clientCertificateRequired" Type="System.Boolean" />
<Parameter Name="ownsStream" Type="System.Boolean" />
<Parameter Name="securityProtocolType" Type="Mono.Security.Protocol.Tls.SecurityProtocolType" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="serverCertificate">To be added.</param>
<param name="clientCertificateRequired">To be added.</param>
<param name="ownsStream">To be added.</param>
<param name="securityProtocolType">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslServerStream (System.IO.Stream stream, System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool requestClientCertificate, bool ownsStream);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, class System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool requestClientCertificate, bool ownsStream) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="clientCertificateRequired" Type="System.Boolean" />
<Parameter Name="requestClientCertificate" Type="System.Boolean" />
<Parameter Name="ownsStream" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="serverCertificate">To be added.</param>
<param name="clientCertificateRequired">To be added.</param>
<param name="requestClientCertificate">To be added.</param>
<param name="ownsStream">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SslServerStream (System.IO.Stream stream, System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool requestClientCertificate, bool ownsStream, Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, class System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool requestClientCertificate, bool ownsStream, valuetype Mono.Security.Protocol.Tls.SecurityProtocolType securityProtocolType) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="serverCertificate" Type="System.Security.Cryptography.X509Certificates.X509Certificate" />
<Parameter Name="clientCertificateRequired" Type="System.Boolean" />
<Parameter Name="requestClientCertificate" Type="System.Boolean" />
<Parameter Name="ownsStream" Type="System.Boolean" />
<Parameter Name="securityProtocolType" Type="Mono.Security.Protocol.Tls.SecurityProtocolType" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<param name="serverCertificate">To be added.</param>
<param name="clientCertificateRequired">To be added.</param>
<param name="requestClientCertificate">To be added.</param>
<param name="ownsStream">To be added.</param>
<param name="securityProtocolType">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientCertificate">
<MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate ClientCertificate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.X509Certificates.X509Certificate ClientCertificate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientCertValidation2">
<MemberSignature Language="C#" Value="public event Mono.Security.Protocol.Tls.CertificateValidationCallback2 ClientCertValidation2;" />
<MemberSignature Language="ILAsm" Value=".event class Mono.Security.Protocol.Tls.CertificateValidationCallback2 ClientCertValidation2" />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CertificateValidationCallback2</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientCertValidationDelegate">
<MemberSignature Language="C#" Value="public Mono.Security.Protocol.Tls.CertificateValidationCallback ClientCertValidationDelegate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Mono.Security.Protocol.Tls.CertificateValidationCallback ClientCertValidationDelegate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.CertificateValidationCallback</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Dispose(bool disposing) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="disposing">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="~SslServerStream ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PrivateKeyCertSelectionDelegate">
<MemberSignature Language="C#" Value="public Mono.Security.Protocol.Tls.PrivateKeySelectionCallback PrivateKeyCertSelectionDelegate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Mono.Security.Protocol.Tls.PrivateKeySelectionCallback PrivateKeyCertSelectionDelegate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Security.Protocol.Tls.PrivateKeySelectionCallback</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -1,86 +0,0 @@
<Type Name="ValidationResult" FullName="Mono.Security.Protocol.Tls.ValidationResult">
<TypeSignature Language="C#" Value="public class ValidationResult" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ValidationResult extends System.Object" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ValidationResult (bool trusted, bool user_denied, int error_code);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool trusted, bool user_denied, int32 error_code) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="trusted" Type="System.Boolean" />
<Parameter Name="user_denied" Type="System.Boolean" />
<Parameter Name="error_code" Type="System.Int32" />
</Parameters>
<Docs>
<param name="trusted">To be added.</param>
<param name="user_denied">To be added.</param>
<param name="error_code">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ErrorCode">
<MemberSignature Language="C#" Value="public int ErrorCode { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 ErrorCode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Trusted">
<MemberSignature Language="C#" Value="public bool Trusted { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Trusted" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="UserDenied">
<MemberSignature Language="C#" Value="public bool UserDenied { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool UserDenied" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -141,21 +141,6 @@
<Type Name="Type2Message" Kind="Class" />
<Type Name="Type3Message" Kind="Class" />
</Namespace>
<Namespace Name="Mono.Security.Protocol.Tls">
<Type Name="CertificateSelectionCallback" Kind="Delegate" />
<Type Name="CertificateValidationCallback" Kind="Delegate" />
<Type Name="CertificateValidationCallback2" Kind="Delegate" />
<Type Name="CipherAlgorithmType" Kind="Enumeration" />
<Type Name="ExchangeAlgorithmType" Kind="Enumeration" />
<Type Name="HashAlgorithmType" Kind="Enumeration" />
<Type Name="PrivateKeySelectionCallback" Kind="Delegate" />
<Type Name="SecurityCompressionType" Kind="Enumeration" />
<Type Name="SecurityProtocolType" Kind="Enumeration" />
<Type Name="SslClientStream" Kind="Class" />
<Type Name="SslServerStream" Kind="Class" />
<Type Name="SslStreamBase" Kind="Class" />
<Type Name="ValidationResult" Kind="Class" />
</Namespace>
<Namespace Name="System">
<Type Name="UriTemplate" Kind="Class" />
<Type Name="UriTemplateEquivalenceComparer" Kind="Class" />

View File

@@ -1,6 +0,0 @@
<Namespace Name="Mono.Security.Protocol.Tls">
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Namespace>

View File

@@ -1,148 +0,0 @@
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
/* Transport Security Layer (TLS)
* Copyright (c) 2003-2004 Carlos Guzman Alvarez
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
using System;
using System.Security.Cryptography;
using Mono.Security.Protocol.Tls;
namespace Mono.Security.Cryptography
{
internal class MD5SHA1 : HashAlgorithm
{
#region Fields
private HashAlgorithm md5;
private HashAlgorithm sha;
private bool hashing;
#endregion
#region Constructors
public MD5SHA1() : base()
{
this.md5 = MD5.Create();
this.sha = SHA1.Create();
// Set HashSizeValue
this.HashSizeValue = this.md5.HashSize + this.sha.HashSize;
}
#endregion
#region Methods
public override void Initialize()
{
this.md5.Initialize();
this.sha.Initialize();
this.hashing = false;
}
protected override byte[] HashFinal()
{
if (!hashing)
{
this.hashing = true;
}
// Finalize the original hash
this.md5.TransformFinalBlock(new byte[0], 0, 0);
this.sha.TransformFinalBlock(new byte[0], 0, 0);
byte[] hash = new byte[36];
Buffer.BlockCopy(this.md5.Hash, 0, hash, 0, 16);
Buffer.BlockCopy(this.sha.Hash, 0, hash, 16, 20);
return hash;
}
protected override void HashCore(
byte[] array,
int ibStart,
int cbSize)
{
if (!hashing)
{
hashing = true;
}
this.md5.TransformBlock(array, ibStart, cbSize, array, ibStart);
this.sha.TransformBlock(array, ibStart, cbSize, array, ibStart);
}
public byte[] CreateSignature(RSA rsa)
{
if (rsa == null)
{
throw new CryptographicUnexpectedOperationException ("missing key");
}
RSASslSignatureFormatter f = new RSASslSignatureFormatter(rsa);
f.SetHashAlgorithm("MD5SHA1");
return f.CreateSignature(this.Hash);
}
public bool VerifySignature(RSA rsa, byte[] rgbSignature)
{
if (rsa == null)
{
throw new CryptographicUnexpectedOperationException ("missing key");
}
if (rgbSignature == null)
{
throw new ArgumentNullException ("rgbSignature");
}
RSASslSignatureDeformatter d = new RSASslSignatureDeformatter(rsa);
d.SetHashAlgorithm("MD5SHA1");
return d.VerifySignature(this.Hash, rgbSignature);
}
#endregion
}
}

View File

@@ -1,212 +0,0 @@
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
/* Transport Security Layer (TLS)
* Copyright (c) 2003-2004 Carlos Guzman Alvarez
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
using System;
using System.Security.Cryptography;
namespace Mono.Security.Cryptography
{
/*
* References:
* RFC 2104 (http://www.ietf.org/rfc/rfc2104.txt)
* RFC 2202 (http://www.ietf.org/rfc/rfc2202.txt)
* MSDN:
*
* Extending the KeyedHashAlgorithm Class (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconextendingkeyedhashalgorithmclass.asp)
*/
internal class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
{
#region Fields
private HashAlgorithm hash;
private bool hashing;
private byte[] innerPad;
private byte[] outerPad;
#endregion
#region Properties
public override byte[] Key
{
get { return (byte[])KeyValue.Clone(); }
set
{
if (hashing)
{
throw new Exception("Cannot change key during hash operation.");
}
/* if key is longer than 64 bytes reset it to rgbKey = Hash(rgbKey) */
if (value.Length > 64)
{
KeyValue = hash.ComputeHash(value);
}
else
{
KeyValue = (byte[])value.Clone();
}
initializePad();
}
}
#endregion
#region Constructors
public HMAC()
{
// Create the hash
hash = MD5.Create();
// Set HashSizeValue
HashSizeValue = hash.HashSize;
// Generate a radom key
byte[] rgbKey = new byte[64];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetNonZeroBytes(rgbKey);
KeyValue = (byte[])rgbKey.Clone();
this.Initialize();
}
public HMAC(string hashName, byte[] rgbKey)
{
// Create the hash
if (hashName == null || hashName.Length == 0)
{
hashName = "MD5";
}
hash = HashAlgorithm.Create(hashName);
// Set HashSizeValue
HashSizeValue = hash.HashSize;
/* if key is longer than 64 bytes reset it to rgbKey = Hash(rgbKey) */
if (rgbKey.Length > 64)
{
KeyValue = hash.ComputeHash(rgbKey);
}
else
{
KeyValue = (byte[])rgbKey.Clone();
}
this.Initialize();
}
#endregion
#region Methods
public override void Initialize()
{
hash.Initialize();
initializePad();
hashing = false;
}
protected override byte[] HashFinal()
{
if (!hashing)
{
hash.TransformBlock(innerPad, 0, innerPad.Length, innerPad, 0);
hashing = true;
}
// Finalize the original hash
hash.TransformFinalBlock(new byte[0], 0, 0);
byte[] firstResult = hash.Hash;
hash.Initialize();
hash.TransformBlock(outerPad, 0, outerPad.Length, outerPad, 0);
hash.TransformFinalBlock(firstResult, 0, firstResult.Length);
Initialize();
return hash.Hash;
}
protected override void HashCore(
byte[] array,
int ibStart,
int cbSize)
{
if (!hashing)
{
hash.TransformBlock(innerPad, 0, innerPad.Length, innerPad, 0);
hashing = true;
}
hash.TransformBlock(array, ibStart, cbSize, array, ibStart);
}
#endregion
#region Private Methods
private void initializePad()
{
// Fill pad arrays
innerPad = new byte[64];
outerPad = new byte[64];
/* Pad the key for inner and outer digest */
for (int i = 0 ; i < KeyValue.Length; ++i)
{
innerPad[i] = (byte)(KeyValue[i] ^ 0x36);
outerPad[i] = (byte)(KeyValue[i] ^ 0x5C);
}
for (int i = KeyValue.Length; i < 64; ++i)
{
innerPad[i] = 0x36;
outerPad[i] = 0x5C;
}
}
#endregion
}
}

View File

@@ -1,147 +0,0 @@
// Transport Security Layer (TLS)
// Copyright (c) 2003-2004 Carlos Guzman Alvarez
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Security.Cryptography.X509Certificates;
using Mono.Security.Protocol.Tls;
namespace Mono.Security.Protocol.Tls.Handshake.Client
{
internal class TlsClientCertificate : HandshakeMessage
{
private bool clientCertSelected;
private X509Certificate clientCert;
#region Constructors
public TlsClientCertificate(Context context)
: base(context, HandshakeType.Certificate)
{
}
#endregion
#region Properties
public X509Certificate ClientCertificate {
get {
if (!clientCertSelected)
{
GetClientCertificate ();
clientCertSelected = true;
}
return clientCert;
}
}
#endregion
#region Methods
public override void Update()
{
base.Update();
this.Reset();
}
#endregion
#region Protected Methods
private void GetClientCertificate ()
{
#warning "Client certificate selection is unfinished"
ClientContext context = (ClientContext)this.Context;
// note: the server may ask for mutual authentication
// but may not require it (i.e. it can be optional).
if (context.ClientSettings.Certificates != null &&
context.ClientSettings.Certificates.Count > 0)
{
clientCert = context.SslStream.RaiseClientCertificateSelection(
this.Context.ClientSettings.Certificates,
new X509Certificate(this.Context.ServerSettings.Certificates[0].RawData),
this.Context.ClientSettings.TargetHost,
null);
// Note: the application code can raise it's
// own exception to stop the connection too.
}
// Update the selected client certificate
context.ClientSettings.ClientCertificate = clientCert;
}
private void SendCertificates ()
{
TlsStream chain = new TlsStream ();
X509Certificate currentCert = this.ClientCertificate;
while (currentCert != null) {
byte[] rawCert = currentCert.GetRawCertData ();
chain.WriteInt24 (rawCert.Length);
chain.Write(rawCert);
currentCert = FindParentCertificate (currentCert);
}
this.WriteInt24 ((int)chain.Length);
this.Write (chain.ToArray ());
}
protected override void ProcessAsSsl3()
{
if (this.ClientCertificate != null) {
SendCertificates ();
} else {
// an Alert warning for NoCertificate (41)
// should be sent from here - but that would
// break the current message handling
}
}
protected override void ProcessAsTls1()
{
if (this.ClientCertificate != null) {
SendCertificates ();
} else {
// return message with empty certificate (see 7.4.6 in RFC2246)
this.WriteInt24 (0);
}
}
private X509Certificate FindParentCertificate (X509Certificate cert)
{
// This certificate is the root certificate
if (cert.GetName () == cert.GetIssuerName ())
return null;
foreach (X509Certificate certificate in this.Context.ClientSettings.Certificates) {
if (cert.GetName () == cert.GetIssuerName ())
return certificate;
}
return null;
}
#endregion
}
}

View File

@@ -1,220 +0,0 @@
// Transport Security Layer (TLS)
// Copyright (c) 2003-2004 Carlos Guzman Alvarez
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
using Mono.Security.Cryptography;
namespace Mono.Security.Protocol.Tls.Handshake.Client
{
internal class TlsClientCertificateVerify : HandshakeMessage
{
#region Constructors
public TlsClientCertificateVerify(Context context)
: base(context, HandshakeType.CertificateVerify)
{
}
#endregion
#region Methods
public override void Update()
{
base.Update();
this.Reset();
}
#endregion
#region Protected Methods
protected override void ProcessAsSsl3()
{
AsymmetricAlgorithm privKey = null;
ClientContext context = (ClientContext)this.Context;
privKey = context.SslStream.RaisePrivateKeySelection(
context.ClientSettings.ClientCertificate,
context.ClientSettings.TargetHost);
if (privKey == null)
{
throw new TlsException(AlertDescription.UserCancelled, "Client certificate Private Key unavailable.");
}
else
{
SslHandshakeHash hash = new SslHandshakeHash(context.MasterSecret);
hash.TransformFinalBlock(
context.HandshakeMessages.ToArray(),
0,
(int)context.HandshakeMessages.Length);
// CreateSignature uses ((RSA)privKey).DecryptValue which is not implemented
// in RSACryptoServiceProvider. Other implementations likely implement DecryptValue
// so we will try the CreateSignature method.
byte[] signature = null;
if (!(privKey is RSACryptoServiceProvider))
{
try
{
signature = hash.CreateSignature((RSA)privKey);
}
catch (NotImplementedException)
{ }
}
// If DecryptValue is not implemented, then try to export the private
// key and let the RSAManaged class do the DecryptValue
if (signature == null)
{
// RSAManaged of the selected ClientCertificate
// (at this moment the first one)
RSA rsa = this.getClientCertRSA((RSA)privKey);
// Write message
signature = hash.CreateSignature(rsa);
}
this.Write((short)signature.Length);
this.Write(signature, 0, signature.Length);
}
}
protected override void ProcessAsTls1()
{
AsymmetricAlgorithm privKey = null;
ClientContext context = (ClientContext)this.Context;
privKey = context.SslStream.RaisePrivateKeySelection(
context.ClientSettings.ClientCertificate,
context.ClientSettings.TargetHost);
if (privKey == null)
{
throw new TlsException(AlertDescription.UserCancelled, "Client certificate Private Key unavailable.");
}
else
{
// Compute handshake messages hash
MD5SHA1 hash = new MD5SHA1();
hash.ComputeHash(
context.HandshakeMessages.ToArray(),
0,
(int)context.HandshakeMessages.Length);
// CreateSignature uses ((RSA)privKey).DecryptValue which is not implemented
// in RSACryptoServiceProvider. Other implementations likely implement DecryptValue
// so we will try the CreateSignature method.
byte[] signature = null;
if (!(privKey is RSACryptoServiceProvider))
{
try
{
signature = hash.CreateSignature((RSA)privKey);
}
catch (NotImplementedException)
{ }
}
// If DecryptValue is not implemented, then try to export the private
// key and let the RSAManaged class do the DecryptValue
if (signature == null)
{
// RSAManaged of the selected ClientCertificate
// (at this moment the first one)
RSA rsa = this.getClientCertRSA((RSA)privKey);
// Write message
signature = hash.CreateSignature(rsa);
}
this.Write((short)signature.Length);
this.Write(signature, 0, signature.Length);
}
}
#endregion
#region Private methods
private RSA getClientCertRSA(RSA privKey)
{
RSAParameters rsaParams = new RSAParameters();
RSAParameters privateParams = privKey.ExportParameters(true);
// for RSA m_publickey contains 2 ASN.1 integers
// the modulus and the public exponent
ASN1 pubkey = new ASN1 (this.Context.ClientSettings.Certificates[0].GetPublicKey());
ASN1 modulus = pubkey [0];
if ((modulus == null) || (modulus.Tag != 0x02))
{
return null;
}
ASN1 exponent = pubkey [1];
if (exponent.Tag != 0x02)
{
return null;
}
rsaParams.Modulus = this.getUnsignedBigInteger(modulus.Value);
rsaParams.Exponent = exponent.Value;
// Set private key parameters
rsaParams.D = privateParams.D;
rsaParams.DP = privateParams.DP;
rsaParams.DQ = privateParams.DQ;
rsaParams.InverseQ = privateParams.InverseQ;
rsaParams.P = privateParams.P;
rsaParams.Q = privateParams.Q;
// BUG: MS BCL 1.0 can't import a key which
// isn't the same size as the one present in
// the container.
int keySize = (rsaParams.Modulus.Length << 3);
RSAManaged rsa = new RSAManaged(keySize);
rsa.ImportParameters (rsaParams);
return (RSA)rsa;
}
private byte[] getUnsignedBigInteger(byte[] integer)
{
if (integer [0] == 0x00)
{
// this first byte is added so we're sure it's an unsigned integer
// however we can't feed it into RSAParameters or DSAParameters
int length = integer.Length - 1;
byte[] uinteger = new byte [length];
Buffer.BlockCopy (integer, 1, uinteger, 0, length);
return uinteger;
}
else
{
return integer;
}
}
#endregion
}
}

View File

@@ -1,87 +0,0 @@
// Transport Security Layer (TLS)
// Copyright (c) 2003-2004 Carlos Guzman Alvarez
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Security.Cryptography;
using Mono.Security.Cryptography;
namespace Mono.Security.Protocol.Tls.Handshake.Client
{
internal class TlsClientFinished : HandshakeMessage
{
#region Constructors
public TlsClientFinished(Context context)
: base(context, HandshakeType.Finished)
{
}
#endregion
#region Methods
public override void Update()
{
base.Update();
this.Reset();
}
#endregion
#region Protected Methods
static private byte[] Ssl3Marker = new byte [4] { 0x43, 0x4c, 0x4e, 0x54 };
protected override void ProcessAsSsl3()
{
// Compute handshake messages hashes
HashAlgorithm hash = new SslHandshakeHash(this.Context.MasterSecret);
byte[] data = this.Context.HandshakeMessages.ToArray ();
hash.TransformBlock (data, 0, data.Length, data, 0);
hash.TransformBlock (Ssl3Marker, 0, Ssl3Marker.Length, Ssl3Marker, 0);
// hack to avoid memory allocation
hash.TransformFinalBlock (CipherSuite.EmptyArray, 0, 0);
this.Write (hash.Hash);
}
protected override void ProcessAsTls1()
{
// Compute handshake messages hash
HashAlgorithm hash = new MD5SHA1();
// note: we could call HashAlgorithm.ComputeHash(Stream) but that would allocate (on Mono)
// a 4096 bytes buffer to process the hash - which is bigger than HandshakeMessages
byte[] data = this.Context.HandshakeMessages.ToArray ();
byte[] digest = hash.ComputeHash (data, 0, data.Length);
// Write message
Write(this.Context.Write.Cipher.PRF(this.Context.MasterSecret, "client finished", digest, 12));
}
#endregion
}
}

Some files were not shown because too many files have changed in this diff Show More