Wpis z mikrobloga

X509Certificate2 pem = WczytanieKluczaPub(plikPem);
RSACryptoServiceProvider rsa = pem.PublicKey.Key as RSACryptoServiceProvider;
sRsaKey = rsa.Encrypt(AesKey(), false);
@Gibonowski: key to klucz a keyPath ścieżka certyfikatu
public static string ZaszyfrujKluczRSA(byte[] key, string keyPath)
{
string inputString = Encoding.UTF8.GetString(key);
System.Security.Cryptography.X509Certificates.X509Certificate2 cert = PobierzPublicznyCertyfikatMinisterstwa(keyPath);
RSACryptoServiceProvider rsaservice = (RSACryptoServiceProvider)cert.PublicKey.Key;
byte[] plaintext = Encoding.UTF8.GetBytes(inputString);
byte[] ciphertext = rsaservice.Encrypt(plaintext, false);
string cipherresult = Convert.ToBase64String(ciphertext);
return cipherresult;
}

co do długości klucza to stosuje inny niż w dokumentacji 128 bitowy, na testowej bramce 2 tygodnie temu taki działał przy 256 był błąd {"Code":416,"Description":"Nieprawidłowy klucz szyfrujący
{"Code":401,"Description":"Weryfikacja negatywna – dokument niezgodny ze schematem xsd","Details":"ERROR_VALIDATE","Upo":"","Timestamp":"2016-07-28T10:57:20+00:00"}

Poszlo do przodu haha
ja robie to nastepujacy sposob:
using (RijndaelManaged szyfr = new RijndaelManaged())
{
szyfr.Mode = CipherMode.CBC;
szyfr.KeySize = 256;
szyfr.Padding = PaddingMode.PKCS7;
szyfr.BlockSize = 128;

szyfr.GenerateKey();
szyfr.GenerateIV();

string Plik = Directory.GetFiles(sciezka);
sAesKey = szyfr.Key;
sAesIv = szyfr.IV;

ICryptoTransform szyfrator = szyfr.CreateEncryptor(szyfr.Key, szyfr.IV);

if (Plik.Length != 0)
{
using (FileStream fsI = new FileStream(Plik, FileMode.Open))
{
using (FileStream fs = new FileStream(Plik + ".zip", FileMode.Create)) //+ ".aes"
{
using (CryptoStream cs = new CryptoStream(fs,
@durek89: nie lecz to kwestnia odpowiedniego przekierowania karty w sesji (przekieruj karty inteligentne) + odpowiednia karta (w miarę nowa np. CryptoTech, Certum itp.)
@mmm234 no właśnie problem mam w tym ze lokalnie podpisywanie mi działa ale na terminalu jak otwiera mi się Store z certyfikatami to niby ten cert jest ale jak go wybieram to program wywala mi błąd
bo jeśli terminal to standardowy komputer np. z Windowsem to raczej powinno działać, natomiast jeśli to jakiś linux to raczej bym szukał sterowników czytnika u producenta karty