Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
CryptoAPI zaprojektowano tak, aby można je było łatwo rozszerzać. Nowe typy i parametry można zdefiniować przez każdego dostawcę usług kryptograficznych (CSP), aby interfejs CryptoAPI dostosowywał się do wymagań szerokiej gamy sytuacji.
| Rozszerzalne elementy | Komentarz |
|---|---|
| Typy dostawców |
Typ dostawcy reprezentuje określoną rodzinę lub typ usług kryptograficznych. Można zdefiniować nowe typy dostawców, z których każda obsługuje konkretną niszę. |
| Parametry dostawcy |
Parametry dostawcy są wysyłane i odbierane przy użyciu CPSetProvParam i CPGetProvParam, odpowiednio. Nowe parametry dostawcy mogą umożliwić skonfigurowanie dostawcy CSP w sposób, który nie jest przewidziany przez projektantów CryptoAPI. |
| Identyfikatory algorytmów |
Funkcje wyliczania CPGetProvParam umożliwiają aplikacjom dynamiczne wypisywanie identyfikatorów algorytmów. W dowolnym momencie można zdefiniować nowe symetryczne, klucze publiczne, i algorytmy skrótu. |
| Typy par kluczy publicznych/prywatnych |
Podczas gdy nowe typy par kluczy można zdefiniować zgodnie z potrzebami, obecnie używane są tylko pary kluczy sygnatury i pary kluczy wymiany. |
| Kluczowe rodzaje BLOB-ów |
Nowe typy BLOB mogą umożliwiać wymianę kluczy sesji, kluczy publicznych i par kluczy publicznych/prywatnych w elastyczny sposób wymiany przy użyciu funkcji CPExportKey i CPImportKey. |
| Kluczowe parametry |
Parametry klucza są wysyłane i pobierane przy użyciu CPSetKeyParam i CPGetKeyParam. Nowe kluczowe parametry mogą umożliwić obsługę wielu różnych typów kluczy. |
| Parametry obiektu skrótu |
Parametry obiektu skrótu są wysyłane i pobierane przy użyciu CPSetHashParam i CPGetHashParam. Nowe parametry obiektu haszującego mogą umożliwić obsługę wielu różnych typów haszy . |
| Wartości flagi |
Większość funkcji CryptoAPI/CryptoSPI ma parametr dwFlags. Nowe wartości dwFlags mogą w razie potrzeby modyfikować zachowanie funkcji. |
Rozszerzenia interfejsu CryptoAPI muszą być wykonywane w sposób odpowiedzialny. Przed zdefiniowaniem nowych parametrów i typów algorytmów deweloper CSP powinien skonsultować się z firmą Microsoft Corporation, aby:
- Typowe rozszerzenia CryptoAPI można zidentyfikować i umieścić w standardowym pliku Wincrypt.h.
- Kolizji przestrzeni nazw można uniknąć.
- Można określić, czy rozszerzenie jest wymagane, czy można osiągnąć określoną operację przy użyciu bieżącego interfejsu API.
Nota
Aby dostawca CSP był kompatybilny z aplikacjami opracowanymi dla podstawowego dostawcy kryptograficznego firmy Microsoft, musi obsługiwać wszystkie powyższe aspekty zgodnie z opisem w funkcjach kryptograficznych bazowych i w funkcjach dostawcy usług kryptograficznych.