You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.142
Former-commit-id: 7467d4b717762eeaf652d77f1486dd11ffb1ff1f
This commit is contained in:
parent
e52655b4dc
commit
0abdbe5a7d
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
File diff suppressed because it is too large
Load Diff
@@ -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>
|
@@ -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" />
|
||||
|
@@ -1,6 +0,0 @@
|
||||
<Namespace Name="Mono.Security.Protocol.Tls">
|
||||
<Docs>
|
||||
<summary>To be added.</summary>
|
||||
<remarks>To be added.</remarks>
|
||||
</Docs>
|
||||
</Namespace>
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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
Reference in New Issue
Block a user