Witam,

Załóżmy, że mam 1024-bitowy klucz w formacie PEM (klucz binarny zakodowany w base64) i próbuję go importować używając klasy RSACryptoServiceProvider.

Jak to robię:

  • wycinam nagłówek i stopkę
  • dekoduję z base64 do byte[]
  • próbuje importować za pomocą metody ImportCspBlob()

Tworzac obiekt RSACryptoServiceProvider daję domyślny pusty konstruktor, próbowałem też zmieniać niektóre parametry, ale za każdym razem dostaję wyjątek "Zła wersja dostawcy."

Czy to ja robię coś źle, a może to nie tak używa się klucza binarnego? (na razie dysponuję tylko jednym kluczem do sprawdzenia).

Co ciekawsze, po wyciągnięciu z klucza parametrów Modulus, Exponent, P, Q, DP, DQ, InverseQ, D (mowa o kluczu prywatnym) i podaniu ich do RSACryptoServiceProvider wszystko poszło gładko... tyle ze cos takiego to zabieranie sie do rzeczy od d... strony i naokoło.. analogiczne problemy mam z kluczem publicznym.

Jak bezposrednio użyc klucza binarnego ? Gdzie ustawia się ta wersje dostawcy? Na MSDN nic na ten temat nie pisza...