Odszyfrowywanie danych

W tej sekcji przedstawiono kroki odszyfrowywania zaszyfrowanej wiadomości.

Aby odszyfrować zaszyfrowaną wiadomość

  1. Pobierz wskaźnik do cyfrowo oprawionej wiadomości.
  2. Otwórz magazyn certyfikatów.
  3. Z wiadomości pobierz identyfikator odbiorcy (Mój identyfikator).
  4. Użyj identyfikatora adresata, aby pobrać certyfikat.
  5. Pobierz klucz prywatny certyfikatu.
  6. Użyj klucza prywatnego, aby odszyfrować klucz symetryczny (sesja).
  7. Pobierz algorytm szyfrowania z komunikatu.
  8. Za pomocą odszyfrowanego klucza sesji i algorytmu szyfrowania odszyfruj dane.

CryptDecryptMessage wykonuje wszystkie zadania dotyczące odszyfrowywania komunikatu; jednak inicjowanie struktur i innych danych jest nadal konieczne.

Aby odszyfrować dane za pomocą funkcji CryptDecryptMessage

  1. Uzyskaj wskaźnik do zaszyfrowanego obiektu BLOB.
  2. Otwórz magazyn certyfikatów.
  3. Utwórz tablicę magazynu certyfikatów.
  4. Zainicjuj strukturę CRYPT_DECRYPT_MESSAGE_PARA.
  5. Wywołaj CryptDecryptMessage, aby odszyfrować dane zawarte w komunikacie.

przykładowy program C: użycie funkcji CryptEncryptMessage i CryptDecryptMessage implementuje właśnie przedstawioną procedurę. Komentarze pokazują, które elementy kodu wykonają każdy krok w procedurze. Aby uzyskać szczegółowe informacje na temat funkcji, zobacz CryptDecryptMessagei aby uzyskać szczegółowe informacje na temat struktury danych, zobacz CRYPT_DECRYPT_MESSAGE_PARA.