CertSetStoreProperty 関数 (wincrypt.h)
CertSetStoreProperty 関数は、ストア プロパティを設定します。
構文
BOOL CertSetStoreProperty(
[in] HCERTSTORE hCertStore,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
パラメーター
[in] hCertStore
証明書ストアのハンドル。
[in] dwPropId
ストア プロパティの範囲のいずれかを示します。 ユーザー定義プロパティの値は、定義済みのコンテキスト プロパティ値の現在の範囲外である必要があります。 現在、ユーザー定義 の dwPropId 値は 4,096 から始まります。 ストアのローカライズされた名前CERT_STORE_LOCALIZED_NAME_PROP_ID、定義済みのストア プロパティが 1 つあります。
[in] dwFlags
将来使用するために予約されており、0 である必要があります。
[in] pvData
pvData の型定義は、dwPropId 値によって異なります。 dwPropId がCERT_STORE_LOCALIZED_NAME_PROP_ID場合、pvData はCRYPT_DATA_BLOB構造体を指します。 その構造体の pbData メンバーは、 null で終わる Unicode 文字列へのポインターです。 その構造体の cbData メンバーは、文字列の長さを保持する DWORD 値です。
ユーザー定義 の dwPropId 値の場合、 pvData はエンコードされた CRYPT_DATA_BLOBへのポインターです。
選択したプロパティの値が既に存在する場合は、古い値が置き換えられます。
pvData を NULL に設定してこの関数を呼び出すと、プロパティが削除されます。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。
解説
ストア プロパティ識別子は、ストア全体に適用できるプロパティです。 これらは、個々の 証明書、 CRL、または CTL コンテキストのプロパティではありません。 現在、ストア プロパティは保持されません。
例
次の例は、開いている証明書ストアのローカライズされた名前プロパティの設定を示しています。
//--------------------------------------------------------------
// 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);
}
この関数を使用する別の例については、「 サンプル C プログラム: 証明書ストアのプロパティの設定と取得」を参照してください。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |