Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kodlama işlemi, CERT_INFO Yapı kodunu çözmeiçinde açıklanan kod çözme işleminin tersidir. Örneğin, aşağıdaki yordam bir CERT_INFO yapısına kodlanmış Veren ekler. Prosedür sonrasında yer alan çizime de bakın.
CERT_INFO yapısına kodlanmış Veren eklemek için
- Kullanılacak veren adını içeren bir dize oluşturun.
- Yeni oluşturulmuş verenin ad dizesi hakkında doğru bilgileri içerecek şekilde başlatılacak bir CERT_RDN_ATTR yapıları dizisi oluşturun.
- Biri az önce başlatılan CERT_RDN_ATTR yapıları dizisi hakkında bilgi içeren bir CERT_RDN yapıları dizisi oluşturun.
- Yeni oluşturulmuş CERT_RDN yapıları dizisine işaret eden bir CERT_NAME_INFO yapısı oluşturun.
- Çıkış kodlanmış BLOB'un boyutunu almak için CryptEncodeObjectçağırın ve yeni oluşturduğunuz CERT_NAME_INFO yapısının adresini geçirin.
- Kodlanmış çıktı BLOB için bellek ayırın.
- CryptEncodeObject yeniden çağırın, aynı bilgileri ileterek ancak şimdi ayrılmış belleğin adresini iletin.
- CERT_INFO yapısının Issuer.cbData üyesini 5. adımda döndürülen boyuta, Issuer.pbData üyesini ise 6. adımda elde edilen adrese ayarlayın. Kodlanmış Çıkaran BLOB artık orada bulunur.
Bazı sertifika uzantısı bilgilerini başlatmak ve kodlamak için aşağıdaki yordamı kullanın. Ayrıca prosedürü izleyen aşağıdaki çizime bakın.
CERT_INFO yapısına kodlanmış uzantı bilgileri eklemek için
- Bir uzantı bilgisi yapısı oluşturun ve başlatın—bu örnek için CERT_BASIC_CONSTRAINTS_INFO yapısı 'dür.
- Çıkış kodlanmış BLOB'un boyutunu almak için CryptEncodeObjectçağrısı yaparak yeni oluşturulan yapının adresini geçirin.
- Çıkış kodlanmış BLOB için bellek ayırın.
- CryptEncodeObject çağırırken aynı bilgileri geçirin, ancak bu sefer ayrılan belleğin adresini de geçirin.
- bir CERT_EXTENSION yapıları dizisi oluşturun.
- Bir CERT_EXTENSION yapısını başlatın, böylece pszObjId, Valueiçinde yer alan veriler için doğru dize olur ve Value, CryptEncodeObjectçağrısından alınan şifrelenmiş veri BLOB'unu içerir.
- CERT_INFO yapısının rgExtension üyesini, CERT_EXTENSION yapı dizisine işaret edecek şekilde başlatın.