Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

270 lines
12 KiB
XML

<Type Name="StrongName" FullName="Mono.Security.StrongName">
<TypeSignature Language="C#" Value="public sealed class StrongName" Maintainer="auto" />
<AssemblyInfo>
<AssemblyName>Mono.Security</AssemblyName>
<AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 79 15 99 77 D2 D0 3A 8E 6B EA 7A 2E 74 E8 D1 AF CC 93 E8 85 19 74 95 2B B4 80 A1 2C 91 34 47 4D 04 06 24 47 C3 7E 0E 68 C0 80 53 6F CF 3C 3F BE 2F F9 C9 79 CE 99 84 75 E5 06 E8 CE 82 DD 5B 0F 35 0D C1 0E 93 BF 2E EE CF 87 4B 24 77 0C 50 81 DB EA 74 47 FD DA FA 27 7B 22 DE 47 D6 FF EA 44 96 74 A4 F9 FC CF 84 D1 50 69 08 93 80 28 4D BD D3 5F 46 CD FF 12 A1 BD 78 E4 EF 00 65 D0 16 DF]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Managed support for strongnames.</summary>
<remarks>To be added</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StrongName ();" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>Creates an empty StrongName instance.</summary>
<remarks>To be added</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StrongName (byte[] data);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="data" Type="System.Byte[]" />
</Parameters>
<Docs>
<param name="data">a CryptoAPI encoded key blob.</param>
<summary>Creates an StrongName instance with the a CryptoAPI encoded key blob.</summary>
<remarks>
<para>The key blob can either contain a complete key pair or only a public key.</para>
<para>The ECMA "key" is also supported as a special case.</para>
</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StrongName (int keySize);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="keySize" Type="System.Int32" />
</Parameters>
<Docs>
<param name="keySize">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StrongName (System.Security.Cryptography.RSA rsa);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="rsa" Type="System.Security.Cryptography.RSA" />
</Parameters>
<Docs>
<param name="rsa">a <see cref="T:System.Security.Cryptography.RSA" /> instance containing either a key pair or only a public key.</param>
<summary>Creates an StrongName instance with the specified RSA key.</summary>
<remarks>The RSA parameter can be a complete key pair (e.g. for signing) or only a public key (e.g. for verifying).</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="CanSign">
<MemberSignature Language="C#" Value="public bool CanSign { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns if the current key can be used for signature (i.e. if the private key is available).</summary>
<value>True if the private key is available, false otherwise.</value>
<remarks>To be added</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="GetBytes">
<MemberSignature Language="C#" Value="public byte[] GetBytes ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Byte[]</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Return an encoded strongname.</summary>
<returns>an array of bytes containing the encoded strongname key.</returns>
<remarks>The encoded key is compatible with the format used by the SN tool (.snk) for keys containing the private/public key pair or only the public key.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Hash">
<MemberSignature Language="C#" Value="public byte[] Hash (string fileName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Byte[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
</Parameters>
<Docs>
<param name="fileName">The filename of the assembly to hash.</param>
<summary>Return the hash of the specified assembly.</summary>
<returns>an array of bytes containing the SHA1 hash of the assembly.</returns>
<remarks>Useful to compare if two assemblies only differs by their strongname signature.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="PublicKey">
<MemberSignature Language="C#" Value="public byte[] PublicKey { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Byte[]</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>The properly encoded public key.</summary>
<value>an array of bytes containing the encoded public key.</value>
<remarks>The first 12 bytes are a special header required for strongnames public key.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="PublicKeyToken">
<MemberSignature Language="C#" Value="public byte[] PublicKeyToken { get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Byte[]</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>The public key token matching the current public key.</summary>
<value>an array of 8 bytes containing the public key token.</value>
<remarks>The public key token is generated by hash the public key using the <see cref="T:System.Security.Cryptography.SHA1" /> algorithm. The last 8 bytes (in reverse order) are used as the token.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="RSA">
<MemberSignature Language="C#" Value="public System.Security.Cryptography.RSA RSA { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Security.Cryptography.RSA</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>The RSA key used to sign an assembly or verify it's strongname signature.</summary>
<value>a <see cref="T:System.Security.Cryptography.RSA" /></value>
<remarks>A new key pair will be generated on get if no key was specified with the constructor.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Sign">
<MemberSignature Language="C#" Value="public bool Sign (string fileName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
</Parameters>
<Docs>
<param name="fileName">The filename of the assembly to sign.</param>
<summary>Strongname the specified assembly file.</summary>
<returns>True if the file could be signed, false otherwise.</returns>
<remarks>Only PE files containing a .NET assembly with a public key can be signed.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="TokenAlgorithm">
<MemberSignature Language="C#" Value="public string TokenAlgorithm { set; get; }" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>The hash algorithm used to compute the public key token.</summary>
<value>a <see cref="T:System.String" /> containing the hash algorithm name. Defaults to SHA1.</value>
<remarks>Valid values are SHA1 and MD5. </remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Verify">
<MemberSignature Language="C#" Value="public bool Verify (System.IO.Stream stream);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
</Parameters>
<Docs>
<param name="stream">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Verify">
<MemberSignature Language="C#" Value="public bool Verify (string fileName);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" />
</Parameters>
<Docs>
<param name="fileName">The filename of the signed assembly.</param>
<summary>Verify the strongname signature of the specified assembly.</summary>
<returns>True if the assembly has a valid signature, false otherwise.</returns>
<remarks>Only PE files containing a .NET assembly can be signed. Other file types or unsigned assemblies will return false.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
</Type>