<Type Name="CryptoConfig" FullName="System.Security.Cryptography.CryptoConfig">
  <TypeSignature Maintainer="auto" Language="C#" Value="public class CryptoConfig" />
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>Cryptographic configuration class to access the default and overidden (machine.config) configuration settings.</summary>
    <remarks>The file "machine.config" can be used to change the framework default algorithm implementations or add new ones.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public CryptoConfig ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Constructor, no idea why it is here (all class members are static).</summary>
        <remarks>Included for compatibility with MS.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateFromName">
      <MemberSignature Language="C#" Value="public static object CreateFromName (string name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">Name of the cryptographic algorithm to create.</param>
        <summary>Create the default cryptographic implementation for the specified algorithm name.</summary>
        <returns>An instance of the default implementation of the specified algorithm.</returns>
        <remarks>Default mapping can be modified, or added to, by modifying the machine.config file.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateFromName">
      <MemberSignature Language="C#" Value="public static object CreateFromName (string name, object[] args);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
        <Parameter Name="args" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="name">Name of the cryptographic algorithm to create.</param>
        <param name="args">Parameters to give to the class contructor.</param>
        <summary>Create the default cryptographic implementation for the specified algorithm name.</summary>
        <returns>An instance of the default implementation of the specified algorithm.</returns>
        <remarks>Default mapping can be modified, or added to, by modifying the machine.config file.</remarks>
      </Docs>
    </Member>
    <Member MemberName="EncodeOID">
      <MemberSignature Language="C#" Value="public static byte[] EncodeOID (string str);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str">The OID string in dotted notation (e.g. "1.3.14.3.2.26").</param>
        <summary>Convert the OID string (dotted notation) into an ASN.1 encoded OID.</summary>
        <returns>A byte array containing the ASN.1 encoded OID.</returns>
        <remarks>
          <para>
A <see cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException" /> will be thrown if the OID is invalid, like: 
<list type="bullet"><item><term>if the OID string has less than two parts (e.g. "0");</term></item><item><term>if the encoded OID would be greater than 127 bytes;</term></item></list></para>
          <para>
A <see cref="T:System.OverflowException" /> will be thrown if a part of the OID is bigger than <see cref="T:System.Int32" />.<see cref="M:System.Int32.MaxValue" />.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="MapNameToOID">
      <MemberSignature Language="C#" Value="public static string MapNameToOID (string name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">The algorithm name or class name (e.g. "SHA1").</param>
        <summary>Return the name of the class that is mapped to the specified OID.</summary>
        <returns>The OID string in dotted notation (e.g. "1.3.14.3.2.26") for the specified algorithm.</returns>
        <remarks>Default mapping can be modified, or added to, by modifying the machine.config file.</remarks>
      </Docs>
    </Member>
  </Members>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
</Type>
