Udostępnij przez


Identyfikatory właściwości magazynu kluczy

Poniższe wartości służą do identyfikowania właściwości magazynu kluczy.

Identyfikatory

NCRYPT_ALGORITHM_GROUP_PROPERTY

L"Algorithm Group"

Ciąg Unicode zakończony wartością null, który zawiera nazwę grupy algorytmów obiektu. Ta właściwość dotyczy tylko kluczy. Następujące identyfikatory są zwracane przez dostawcę magazynu kluczy firmy Microsoft.

Identyfikator Wartość Opis
NCRYPT_RSA_ALGORITHM_GROUP "RSA" Grupa algorytmów RSA.
NCRYPT_DH_ALGORITHM_GROUP "DH" Grupa algorytmów Diffie-Hellman.
NCRYPT_DSA_ALGORITHM_GROUP "DSA" Grupa algorytmów DSA.
NCRYPT_ECDSA_ALGORITHM_GROUP "ECDSA" Grupa algorytmów DSA krzywej eliptycznej.
NCRYPT_ECDH_ALGORITHM_GROUP "ECDH" Krzywa eliptyczna Diffie-Hellman grupy algorytmów.

NCRYPT_ALGORITHM_PROPERTY

L"Algorithm Name"

Ciąg Unicode zakończony wartością null, który zawiera nazwę algorytmu obiektu. Może to być jeden ze wstępnie zdefiniowanych identyfikatorów algorytmów CNG lub inny zarejestrowany identyfikator algorytmu. Ta właściwość dotyczy tylko kluczy.

NCRYPT_ASSOCIATED_ECDH_KEY

L"SmartCardAssociatedECDHKey"

Wartość LPWSTR wskazująca nazwę kontenera klucza Elliptic Curve Diffie-Hellman (ECDH) do użycia podczas logowania dla danego uchwytu do klucza Elliptic Curve Digital Signature Algorithm (ECDSA). Jeśli na karcie nie ma kluczy ECDH, dostawca magazynu kluczy zwraca wartość NTE_NOT_FOUND. Ta właściwość ma zastosowanie do kluczy ECDSA na potrzeby logowania za pomocą kart inteligentnych. Właściwość jest obsługiwana przez dostawcę magazynu kluczy karty inteligentnej Firmy Microsoft, a nie przez dostawcę magazynu kluczy oprogramowania firmy Microsoft.

Windows Server 2008 i Windows Vista: Ta wartość nie jest obsługiwana.

NCRYPT_BLOCK_LENGTH_PROPERTY

L"Block Length"

DWORD zawierający długość w bajtach bloku szyfrowania. Ta właściwość dotyczy tylko kluczy, które obsługują szyfrowanie.

NCRYPT_CERTIFICATE_PROPERTY

L"SmartCardKeyCertificate"

Obiekt BLOB zawierający certyfikat X.509 skojarzony z kluczem.

Windows Server 2008 R2, Windows 7, Windows Server 2008 i Windows Vista:Obiekt BLOB zawierający certyfikat klucza karty inteligentnej. Ta właściwość nie jest obsługiwana przez dostawcę magazynu kluczy oprogramowania firmy Microsoft.

NCRYPT_DH_PARAMETERS_PROPERTY

L"DHParameters"

Określa parametry do użycia z kluczem Diffie-Hellman. Ten typ danych jest wskaźnikiem do struktury BCRYPT_DH_PARAMETER_HEADER . Tę właściwość można ustawić tylko i należy ustawić dla klucza przed ukończeniem klucza.

NCRYPT_EXPORT_POLICY_PROPERTY

L"Export Policy"

DWORD zawierający zestaw flag określających zasady eksportu dla utrwalonego klucza. Ta właściwość dotyczy tylko kluczy. Może to zawierać zero lub kombinację co najmniej jednej z poniższych wartości.

Identyfikator Wartość Opis
NCRYPT_ALLOW_EXPORT_FLAG 0x00000001 Klucz prywatny można wyeksportować.
NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG 0x00000002 Klucz prywatny można wyeksportować w postaci zwykłego tekstu.
NCRYPT_ALLOW_ARCHIVING_FLAG 0x00000004 Klucz prywatny można wyeksportować raz na potrzeby archiwizacji. Ta flaga dotyczy tylko oryginalnego uchwytu klucza, na którym jest ustawiona. Te zasady można stosować tylko do oryginalnego dojścia klucza. Po zamknięciu dojścia klucza nie można go już wyeksportować do celów archiwizacji.
NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG 0x00000008 Klucz prywatny można wyeksportować raz w postaci zwykłego tekstu na potrzeby archiwizacji. Ta flaga dotyczy tylko oryginalnego uchwytu klucza, na którym jest ustawiona. Te zasady można stosować tylko do oryginalnego dojścia klucza. Po zamknięciu dojścia klucza nie można go już wyeksportować do celów archiwizacji.

NCRYPT_IMPL_TYPE_PROPERTY

L"Impl Type"

DWORD zawierający zestaw flag definiujących szczegóły implementacji dostawcy. Ta właściwość ma zastosowanie tylko do dostawców magazynu kluczy. Może to zawierać zero lub kombinację co najmniej jednej z poniższych wartości.

Identyfikator Wartość Opis
NCRYPT_IMPL_HARDWARE_FLAG 0x00000001 Dostawca jest oparty na sprzęcie.
NCRYPT_IMPL_SOFTWARE_FLAG 0x00000002 Dostawca jest oparty na oprogramowaniu.
NCRYPT_IMPL_REMOVABLE_FLAG 0x00000008 Dostawca jest wymienny.
NCRYPT_IMPL_HARDWARE_RNG_FLAG 0x00000010 Dostawca jest sprzętowym generatorem liczb losowych.
NCRYPT_IMPL_VIRTUAL_ISOLATION_FLAG 0x00000020 Dostawca jest zwirtualizowanym dostawcą izolacji.

NCRYPT_KEM_CIPHERTEXT_LENGTH_PROPERTY

L"KEM Ciphertext Length"

DWORD, który zawiera długość w bajtach szyfrowania. Ta właściwość dotyczy tylko kluczy, które obsługują mechanizmy hermetyzacji kluczy (KEM).

NCRYPT_KEM_SHARED_SECRET_LENGTH_PROPERTY

L"KEM Shared Secret Length"

DworD, który zawiera długość w bajtach wspólnego wpisu tajnego. Ta właściwość dotyczy tylko kluczy, które obsługują mechanizmy hermetyzacji kluczy (KEM).

NCRYPT_KEY_TYPE_PROPERTY

L"Key Type"

DWORD zawierający zestaw flag definiujących typ klucza. Ta właściwość dotyczy tylko kluczy. Może to zawierać zero lub następującą wartość.

Identyfikator Wartość Opis
NCRYPT_MACHINE_KEY_FLAG 0x00000020 Klucz dotyczy komputera lokalnego. Jeśli ta flaga nie jest obecna, klucz ma zastosowanie do bieżącego użytkownika.

NCRYPT_KEY_USAGE_PROPERTY

L"Key Usage"

DWORD zawierający zestaw flag definiujących szczegóły użycia klucza. Ta właściwość dotyczy tylko kluczy. Może to zawierać zero lub kombinację co najmniej jednej z poniższych wartości.

Identyfikator Wartość Opis
NCRYPT_ALLOW_DECRYPT_FLAG 0x00000001 Klucz może służyć do odszyfrowywania.
NCRYPT_ALLOW_SIGNING_FLAG 0x00000002 Klucz może służyć do podpisywania.
NCRYPT_ALLOW_KEY_AGREEMENT_FLAG 0x00000004 Klucz może służyć do szyfrowania w ramach umowy tajnej.
NCRYPT_ALLOW_KEY_ATTESTATION_FLAG 0x00000010 Wskazuje, że klucz jest kluczem z zaświadczeniem.
NCRYPT_ALLOW_ALL_USAGES 0x00ffffff Klucz może być używany do dowolnego celu.

NCRYPT_LAST_MODIFIED_PROPERTY

L"Modified"

Wskazuje, kiedy klucz został ostatnio zmodyfikowany. Ten typ danych jest wskaźnikiem do struktury FILETIME . Ta właściwość ma zastosowanie tylko do utrwałych kluczy.

NCRYPT_LENGTH_PROPERTY

L"Length"

DWORD zawierający długość klucza w bitach. Ta właściwość dotyczy tylko kluczy.

NCRYPT_LENGTHS_PROPERTY

L"Lengths"

Wskazuje rozmiary kluczy, które są obsługiwane przez klucz. Ten typ danych jest wskaźnikiem do struktury NCRYPT_SUPPORTED_LENGTHS zawierającej te informacje. Ta właściwość dotyczy tylko kluczy.

NCRYPT_MAX_NAME_LENGTH_PROPERTY

L"Max Name Length"

DWORD, który zawiera maksymalną długość w znakach nazwy klucza trwałego. Ta właściwość dotyczy tylko dostawcy.

Ta właściwość ma być używana głównie przez dostawców magazynu kluczy, którzy przechowują swoje klucze na urządzeniu, które ma ograniczoną ilość dostępnej pamięci, na przykład kartę inteligentną.

NCRYPT_NAME_PROPERTY

L"Name"

Wskaźnik do ciągu Unicode zakończonego wartością null, który zawiera nazwę obiektu.

NCRYPT_PIN_PROMPT_PROPERTY

L"SmartCardPinPrompt"

Ta wartość nie jest obsługiwana.

NCRYPT_PIN_PROPERTY

L"SmartCardPin"

Wskaźnik do ciągu Unicode zakończonego wartością null, który zawiera numer PIN. Numer PIN jest używany dla klucza karty inteligentnej lub hasła dla klucza chronionego hasłem przechowywanego w oprogramowaniu KSP. Tę właściwość można ustawić tylko. Usługa Microsoft KSPs buforuje tę wartość, aby użytkownik był monitowany tylko raz na proces.

NCRYPT_PROVIDER_HANDLE_PROPERTY

L"Provider Handle"

NCRYPT_PROV_HANDLE, który zawiera dojście dostawcy magazynu kluczy CNG. Po zakończeniu korzystania z dojścia należy wywołać obiekt NCryptFreeObject , aby go zwolnić.

NCRYPT_READER_PROPERTY

L"SmartCardReader"

Wskaźnik do ciągu Unicode zakończonego wartością null, który zawiera nazwę czytnika kart inteligentnych. Tę właściwość można ustawić tylko.

NCRYPT_ROOT_CERTSTORE_PROPERTY

L"SmartcardRootCertStore"

Magazyn HCERTSTORE reprezentujący magazyn certyfikatów głównych kart inteligentnych.

NCRYPT_SCARD_PIN_ID

L"SmartCardPinId"

Wskaźnik do PIN_ID wartości skojarzonej z danym kluczem kryptograficznym na karcie inteligentnej. Jest to właściwość tylko do odczytu. Typ PIN_ID danych jest zdefiniowany w pliku Cardmod.h.

Windows Server 2008 i Windows Vista: Ta wartość nie jest obsługiwana.

Uwaga / Notatka

Plik nagłówka Cardmod.h języka C zawiera dodatkowe informacje istotne dla tego interfejsu API. Ten plik zawiera prototypy funkcji i struktury, które określa API minidriver karty inteligentnej firmy Microsoft. Ten interfejs API jest dostępny za pośrednictwem zestawu Microsoft Cryptographic Provider Development Kit (CPDK).

NCRYPT_SCARD_PIN_INFO

L"SmartCardPinInfo"

Wskaźnik PIN_INFO struktury numeru PIN skojarzonego z danym kluczem kryptograficznym na karcie inteligentnej. Obiekt wywołujący udostępnia uchwyt klucza. Ta właściwość jest właściwością tylko do odczytu. Struktura jest zdefiniowana PIN_INFO w pliku Cardmod.h.

Windows Server 2008 i Windows Vista: Ta wartość nie jest obsługiwana.

NCRYPT_SECURE_PIN_PROPERTY

L"SmartCardSecurePin"

Wskaźnik do ciągu Unicode zakończonego wartością null, który zawiera numer PIN sesji karty inteligentnej. Tę właściwość można ustawić tylko.

Windows Vista: Ta właściwość nie jest obsługiwana.

NCRYPT_SECURITY_DESCR_PROPERTY

L"Security Descr"

Wskaźnik do struktury SECURITY_DESCRIPTOR zawierającej informacje o kontroli dostępu dla klucza. Ta właściwość ma zastosowanie tylko do kluczy trwałych. Parametr dwFlags funkcji NCryptGetProperty lub NCryptSetProperty identyfikuje część deskryptora zabezpieczeń w celu pobrania lub ustawienia.

NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY

L"Security Descr Support"

Wskazuje, czy dostawca obsługuje deskryptory zabezpieczeń dla kluczy. Ta właściwość jest DWORD , która zawiera 1, jeśli dostawca obsługuje deskryptory zabezpieczeń dla kluczy. Jeśli ta właściwość zawiera inną wartość lub jeśli funkcja NCryptGetProperty zwraca NTE_NOT_SUPPORTEDwartość , dostawca nie obsługuje deskryptorów zabezpieczeń dla kluczy. Ta właściwość dotyczy tylko dostawców.

NCRYPT_SMARTCARD_GUID_PROPERTY

L"SmartCardGuid"

Obiekt BLOB zawierający identyfikator karty inteligentnej.

NCRYPT_UI_POLICY_PROPERTY

L"UI Policy"

Jeśli jest używana z funkcją NCryptSetProperty lub NCryptGetProperty , jest to wskaźnik do struktury NCRYPT_UI_POLICY zawierającej silne zasady interfejsu użytkownika klucza dla klucza. Ta właściwość ma zastosowanie tylko do kluczy trwałych. Tę właściwość można ustawić tylko po wygenerowaniu klucza. Po wywołaniu funkcji NCryptFinalizeKey dla tego klucza ta właściwość staje się tylko do odczytu.

Dostawca magazynu kluczy może odbierać ten parametr za pomocą funkcji wywołania zwrotnego NCryptSetPropertyFn . Wartość parametru jest strukturą NCRYPT_UI_POLICY_BLOB zawierającą te same informacje. Podobnie, gdy aplikacja wysyła żądanie za pośrednictwem NCryptSetPropertyFn do dostawcy w celu zwrócenia tej właściwości, dostawca ma zwrócić strukturę NCRYPT_UI_POLICY_BLOB .

NCRYPT_UNIQUE_NAME_PROPERTY

L"Unique Name"

Wskaźnik do ciągu Unicode zakończonego wartością null, który zawiera unikatową nazwę obiektu. Jest to alternatywna nazwa, która może być używana podczas uzyskiwania dostępu do klucza. Ta właściwość jest używana, gdy uważa się, że nazwa klucza pierwotnie przekazana do klucza NCryptCreatePersistedKey nie jest wystarczająco unikatowa, aby niezawodnie zidentyfikować utrwalonego klucza. Dostawca magazynu kluczy firmy Microsoft zwróci nazwę pliku klucza jako tę właściwość.

NCRYPT_USE_CONTEXT_PROPERTY

L"Use Context"

Wskaźnik do ciągu Unicode zakończonego wartością null, który opisuje kontekst operacji. Ta właściwość nie jest trwała i może być ustawiona na dostawcę lub klucz. Klucz nie ma dostępu do NCRYPT_USE_CONTEXT_PROPERTY właściwości dostawcy, ponieważ właściwość jest specyficzna tylko dla uchwytu, dla niego ustawiono.

Przykładem użycia tej właściwości w kontekście dostawcy jest dostawca magazynu kluczy, który musi monitować użytkownika podczas wywołania funkcji NCryptOpenKey (na przykład "Wstaw kartę inteligentną w czytniku"). Ponieważ dojście klucza nie jest dostępne dopiero po powrocie NCryptOpenKey , aplikacja powinna ustawić tę właściwość na dojściu dostawcy przed wywołaniem NCryptOpenKey.

Przykładem użycia tej właściwości w kontekście dojścia klucza jest dostawca magazynu kluczy, który musi monitować użytkownika podczas operacji przy użyciu klucza (na przykład "Ta aplikacja musi użyć tego klucza do podpisania dokumentu). Dostawca może następnie przekazać te informacje kontekstowe użytkownikowi w dowolnym interfejsie użytkownika wyświetlanym podczas operacji.

NCRYPT_USE_COUNT_ENABLED_PROPERTY

L"Enabled Use Count"

Wskazuje, czy dostawca obsługuje zliczanie użycia dla kluczy. Ta właściwość jest dword , który zawiera 1, jeśli dostawca obsługuje zliczanie użycia dla kluczy. Jeśli ta właściwość zawiera inną wartość lub jeśli funkcja NCryptGetProperty zwraca NTE_NOT_SUPPORTEDwartość , dostawca nie obsługuje zliczania użycia dla kluczy. Ta właściwość dotyczy tylko dostawców.

NCRYPT_USE_COUNT_PROPERTY

L"Use Count"

Zmienna ULARGE_INTEGER zawierająca liczbę operacji wykonywanych przez określony klucz prywatny . Ta właściwość jest opcjonalna i może nie być obsługiwana przez wszystkich dostawców. Dostawcy, którzy obsługują tę właściwość w kluczach, powinni również obsługiwać właściwość NCRYPT_USE_COUNT_ENABLED_PROPERTY w dojściu dostawcy. Dostawca magazynu kluczy firmy Microsoft nie obsługuje tej właściwości. Ta właściwość ma zastosowanie tylko do kluczy trwałych.

NCRYPT_USER_CERTSTORE_PROPERTY

L"SmartCardUserCertStore"

HCERTSTORE reprezentujący magazyn certyfikatów użytkownika karty inteligentnej.

NCRYPT_VBS_ROOT_PUB_PROPERTY

L"VBS_ROOT_PUB"

Nowa właściwość dostawcy MS_KEY_STORAGE_PROVIDER . Ta właściwość umożliwia pobieranie publicznej części głównego klucza podpisywania (IDKS) zabezpieczeń opartych na wirtualizacji (VBS).

NCRYPT_VERSION_PROPERTY

L"Version"

DWORD zawierający wersję oprogramowania dostawcy. Wysokie słowo zawiera wersję główną, a małe słowo zawiera wersję pomocniczą. Na przykład 0x00030033 = 3.51. Ta właściwość dotyczy tylko dostawców.

NCRYPT_WINDOW_HANDLE_PROPERTY

L"HWND Handle"

Wskaźnik do uchwytu okna (HWND), który ma być używany jako element nadrzędny dowolnego wyświetlanego interfejsu użytkownika.

Ponieważ niepożądane zachowanie może wystąpić, gdy interfejs użytkownika jest wyświetlany przy użyciu uchwytu okna NULL dla elementu nadrzędnego, zdecydowanie zalecamy, aby dostawca magazynu kluczy nie wyświetlał interfejsu użytkownika, chyba że ta właściwość jest ustawiona.

Poniższe wartości służą do definiowania limitów danych właściwości.

Stały Wartość Opis
NCRYPT_MAX_PROPERTY_DATA 0x100000 Określa maksymalny rozmiar wartości właściwości w bajtach.
NCRYPT_MAX_PROPERTY_NAME 64 Określa maksymalny rozmiar nazwy właściwości w znakach.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient Windows Vista [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer Windows Server 2008 [tylko aplikacje klasyczne]
Nagłówek Ncrypt.h

Zobacz także