<Type Name="CryptoConfig" FullName="System.Security.Cryptography.CryptoConfig">
  <TypeSignature Maintainer="auto" Language="C#" Value="public class CryptoConfig" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi CryptoConfig extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.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 />
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
  <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 ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <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="AddAlgorithm">
      <MemberSignature Language="C#" Value="public static void AddAlgorithm (Type algorithm, string[] names);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddAlgorithm(class System.Type algorithm, string[] names) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="algorithm" Type="System.Type" />
        <Parameter Name="names" Type="System.String[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="algorithm">To be added.</param>
        <param name="names">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddOID">
      <MemberSignature Language="C#" Value="public static void AddOID (string oid, string[] names);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddOID(string oid, string[] names) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="oid" Type="System.String" />
        <Parameter Name="names" Type="System.String[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="oid">To be added.</param>
        <param name="names">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AllowOnlyFipsAlgorithms">
      <MemberSignature Language="C#" Value="public static bool AllowOnlyFipsAlgorithms { get; }" />
      <MemberSignature Language="ILAsm" Value=".property bool AllowOnlyFipsAlgorithms" />
      <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="CreateFromName">
      <MemberSignature Language="C#" Value="public static object CreateFromName (string name);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig object CreateFromName(string name) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <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);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig object CreateFromName(string name, object[] args) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <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);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int8[] EncodeOID(string str) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <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);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string MapNameToOID(string name) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <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>
</Type>
