сертификаты и Makecert

Тема в разделе ".NET", создана пользователем sadgb, 31 окт 2007.

  1. sadgb

    sadgb Гость

    всем снова привет и доброго времени суток.
    вот что у меня есть
    public static void GenKey_SaveInContainer(string ContainerName)
    {
    // Create the CspParameters object and set the key container
    // name used to store the RSA key pair.
    CspParameters cp = new CspParameters();
    cp.KeyContainerName = ContainerName;

    // Create a new instance of RSACryptoServiceProvider that accesses
    // the key container MyKeyContainerName.
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);

    // Display the key information to the console.
    Console.WriteLine("Key added to container: \n {0}", rsa.ToXmlString(true));
    }
    запустил создался ключ и записался в контейнер hranilcert123
    теперь есть ещё
    public static void GetKeyFromContainer(string ContainerName)
    {
    // Create the CspParameters object and set the key container
    // name used to store the RSA key pair.
    CspParameters cp = new CspParameters();
    cp.KeyContainerName = ContainerName;

    // Create a new instance of RSACryptoServiceProvider that accesses
    // the key container MyKeyContainerName.
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);

    // Display the key information to the console.

    //Create a new instance of RSAParameters.
    RSAParameters RSAKeyInfo = new RSAParameters();

    //Export key parameters into RSA.
    RSAKeyInfo = rsa.ExportParameters(false);
    Byte[] msg = RSAKeyInfo.Modulus;
    // Exponent = RSAKeyInfo.Exponent;
    Console.WriteLine("Key retrieved from container : \n {0}", rsa.ToXmlString(false));
    }

    в общем когда достаю ключ из контейнера он достаёться и при переводе в XML строку получаю (для открытой части )

    Key retrieved from container :
    <RSAKeyValue><Modulus>60aif7LeSIK5+0lQtnHIAIqlDLUHbyP+g4yntY18q4MLb1ZrcqDcv0NHa
    vC6UNid0pqA7U7vww0tJ99kCjuHWA2mCnx9eZuUBiZ+MmvvaoGIImWEh98Jn9VkPA6UyOpF9JnLTpsl5
    /m650xxSPpKsQ28m/9Mro8udnRYdFU61G0=</Modulus><Exponent>AQAB</Exponent></RSAKeyVa
    lue>

    вроде нормальный ключ. далее хочу заверить его сертификатом и делаю вот что


    c:\>makecert -n "CN=Egorka" -sk "hranilcert123" egorka.cer
    Succeeded

    c:\>makecert -n "CN=Egorka2" -sk hranilcert123 -sr LocalMachine egorka2.cer
    Succeeded


    c:\>makecert -n "CN=Egorka3" -sk hranilcert123 -sr CurrentUser egorka3.cer
    Succeeded

    а потом сматрю что там получилось с помощью вот чего
    X509Certificate2 certificate1 = new X509Certificate2("c:\\egorka.cer");
    Console.WriteLine("{0}Certificate to XML String: {1}{0}", Environment.NewLine, certificate1.PublicKey.Key.ToXmlString(false));


    и получаю вот что

    Certificate to XML String: <RSAKeyValue><Modulus>w32+jzwZ3gjoI/bWeZy4flM0+7zlNlc
    +kDoh4u6SBy5lR+T81Ej+xzob87cyj+GIQUaMOyzgc3REZ2PvCGaYplIR2InbyEJ3g/fifUTJRZsb3zs
    4gWVNgVEKo9YWzT2TQqt5cXn1310QiTrvuBhdyW54rTksDiFznNw5TZETxUs=</Modulus><Exponent
    >AQAB</Exponent></RSAKeyValue>

    для любого из 3 сертификатов. значит в них таки есть логика ? оО

    ребят помогите мне пожалуйста.
    надо заверить ключ с помощью makecert а я не знаю как (
     
  2. sadgb

    sadgb Гость

    closed
    хз как но само заработало. дописал какую то левую строчку потом удалил ей но всё заработало (
     
Загрузка...

Поделиться этой страницей