Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die CertSetStoreProperty-Funktion legt eine Speichereigenschaft fest.
Syntax
BOOL CertSetStoreProperty(
[in] HCERTSTORE hCertStore,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Parameter
[in] hCertStore
Handle für den Zertifikatspeicher.
[in] dwPropId
Gibt eine aus einem Bereich von Speichereigenschaften an. Werte für benutzerdefinierte Eigenschaften müssen außerhalb des aktuellen Bereichs vordefinierter Kontexteigenschaftenwerte liegen. Derzeit beginnen benutzerdefinierte dwPropId-Werte bei 4.096. Es gibt eine vordefinierte Speichereigenschaft, CERT_STORE_LOCALIZED_NAME_PROP_ID, den lokalisierten Namen des Speichers.
[in] dwFlags
Für die zukünftige Verwendung reserviert und muss null sein.
[in] pvData
Die Typdefinition für pvData hängt vom dwPropId-Wert ab. Wenn dwPropId CERT_STORE_LOCALIZED_NAME_PROP_ID ist, verweist pvData auf eine CRYPT_DATA_BLOB-Struktur . Der pbData-Member dieser Struktur ist ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung. Das cbData-Element dieser Struktur ist ein DWORD-Wert , der die Länge der Zeichenfolge enthält.
Für benutzerdefinierte dwPropId-Werte ist pvData ein Zeiger auf eine codierte CRYPT_DATA_BLOB.
Wenn bereits ein Wert für die ausgewählte Eigenschaft vorhanden ist, wird der alte Wert ersetzt.
Durch aufrufen dieser Funktion, bei der pvData auf NULL festgelegt ist, wird eine -Eigenschaft gelöscht.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE.
Hinweise
Store-Eigenschaftsbezeichner sind Eigenschaften, die für einen gesamten Speicher gelten. Sie sind keine Eigenschaften für ein einzelnes Zertifikat, eine CRL oder einen CTL-Kontext . Derzeit werden keine Speichereigenschaften beibehalten.
Beispiele
Das folgende Beispiel zeigt das Festlegen der lokalisierten Namenseigenschaft eines geöffneten Zertifikatspeichers.
//--------------------------------------------------------------
// Declare and initialize variables.
HCERTSTORE hCertStore = NULL; // Original certificate store
CRYPT_DATA_BLOB Property_Name_Blob; // BLOB to hold store property
//--------------------------------------------------------------
// Open the certificate store that will have its localized name
// property set. In this case, the CA system store is opened.
if ( hCertStore = CertOpenStore(
CERT_STORE_PROV_SYSTEM,
0,
NULL,
CERT_SYSTEM_STORE_CURRENT_USER,
L"CA"))
{
printf("The CA store is open.\n");
}
else
{
printf("The CA store could not be opened \n.");
exit(1);
}
//--------------------------------------------------------------------
// Prepare a data structure to set a store property.
// Initialize the members of the CRYPT_DATA_BLOB.
Property_Name_Blob.pbData = (BYTE *) L"The Local CA Store";
Property_Name_Blob.cbData =
(wcslen((LPWSTR)Property_Name_Blob.pbData)+1) * sizeof(WCHAR);
//--------------------------------------------------------------------
// Set the store's localized name property.
if (CertSetStoreProperty(
hCertStore,
CERT_STORE_LOCALIZED_NAME_PROP_ID,
0,
&Property_Name_Blob))
{
printf("The name of the store has been set. Continue. \n");
}
else
{
printf("Setting the store's localized name failed.\n");
exit(1);
}
// Close the store when done.
if (!CertCloseStore(
hCertStore,
0 ))
{
printf("The CA store could not be closed \n.");
exit(1);
}
Ein weiteres Beispiel, das diese Funktion verwendet, finden Sie unter Beispiel-C-Programm: Festlegen und Abrufen von Zertifikatspeichereigenschaften.
Anforderungen
| Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Windows |
| Kopfzeile | wincrypt.h |
| Bibliothek | Crypt32.lib |
| DLL | Crypt32.dll |