Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Prvním krokem při dekódování certifikátu BLOB je volání CertCreateCertificateContext, předáním ukazatele na kódovaný certifikát (BLOB). Při volání této funkce vytvoří duplikát zakódovaného certifikátu, vytvoří strukturu typu CERT_CONTEXTa vytvoří strukturu typu CERT_INFO. Jak je znázorněno na následujícím obrázku,kontext certifikátuzahrnuje původní objektu BLOB, strukturu C typu CERT_CONTEXTa strukturu jazyka C typu CERT_INFO. Jeden ze členů struktury CERT_CONTEXT odkazuje na strukturu CERT_INFO a druhý na zakódovaný objekt BLOB certifikátu.
kontext certifikátu 
Kódovaný objekt (datový člen) je vždy poskytován jako vstup CryptDecodeObject funkce a výstup je struktura jazyka C, která může nebo nemusí mít zakódované členy v závislosti na tom, jak daleko do procesu jste.
Existuje jeden další člen, který vyžaduje dekódování, a tím je člen Rozšíření. I když není kódován na úrovni CERT_INFO, obsahuje některé kódované informace. Pokud chcete tyto informace dekódovat, pokračujte, jak je znázorněno na následujícím obrázku.
Ve struktuře CERT_INFO je člen rgExtension ukazatelem na pole struktur CERT_EXTENSION. Každá struktura CERT_EXTENSION má členskou hodnotu Value, která je v kódované podobě a musí být dekódována. Hodnota členu je předána funkci CryptDecodeObject a výstup této funkce závisí na hodnotě členu pszObjId. Všimněte si, že na obrázku jsou vytvořeny dvě různé struktury, jeden typ CERT_BASIC_CONSTRAINTS_INFO a jeden typ CERT_AUTHORITY_KEY_ID_INFO, v závislosti na hodnotě pszObjId.