x509

Home Download News Documentation FAQ Tutorial API reference Examples XML Digital Signature Online Verifier XML Encryption XML Canonicalization Reporting Bugs Mailing list Related Authors
# x509 ## Name x509 -- X509 certificates support implementation for MS Crypto. ## Synopsis
    #define             xmlSecMSCryptoKeyDataX509Id
    xmlSecKeyDataId     xmlSecMSCryptoKeyDataX509GetKlass   (void);
    PCCERT_CONTEXT      xmlSecMSCryptoKeyDataX509GetKeyCert (xmlSecKeyDataPtr data);
    int                 xmlSecMSCryptoKeyDataX509AdoptKeyCert
                                                            (xmlSecKeyDataPtr data,
                                                             PCCERT_CONTEXT cert);
    int                 xmlSecMSCryptoKeyDataX509AdoptCert  (xmlSecKeyDataPtr data,
                                                             PCCERT_CONTEXT cert);
    PCCERT_CONTEXT      xmlSecMSCryptoKeyDataX509GetCert    (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
    xmlSecSize          xmlSecMSCryptoKeyDataX509GetCertsSize
                                                            (xmlSecKeyDataPtr data);
    int                 xmlSecMSCryptoKeyDataX509AdoptCrl   (xmlSecKeyDataPtr data,
                                                             PCCRL_CONTEXT crl);
    PCCRL_CONTEXT       xmlSecMSCryptoKeyDataX509GetCrl     (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
    xmlSecSize          xmlSecMSCryptoKeyDataX509GetCrlsSize
                                                            (xmlSecKeyDataPtr data);
    #define             xmlSecMSCryptoKeyDataRawX509CertId
    xmlSecKeyDataId     xmlSecMSCryptoKeyDataRawX509CertGetKlass
                                                            (void);
    #define             xmlSecMSCryptoX509StoreId
    xmlSecKeyDataStoreId  xmlSecMSCryptoX509StoreGetKlass   (void);
    PCCERT_CONTEXT      xmlSecMSCryptoX509StoreFindCert     (xmlSecKeyDataStorePtr store,
                                                             xmlChar *subjectName,
                                                             xmlChar *issuerName,
                                                             xmlChar *issuerSerial,
                                                             xmlChar *ski,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
    PCCERT_CONTEXT      xmlSecMSCryptoX509StoreVerify       (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE certs,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
    int                 xmlSecMSCryptoX509StoreAdoptCert    (xmlSecKeyDataStorePtr store,
                                                             PCCERT_CONTEXT cert,
                                                             xmlSecKeyDataType type);
    int                 xmlSecMSCryptoX509StoreAdoptKeyStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE keyStore);
    int                 xmlSecMSCryptoX509StoreAdoptTrustedStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE trustedStore);
    int                 xmlSecMSCryptoX509StoreAdoptUntrustedStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE untrustedStore);
    void                xmlSecMSCryptoX509StoreEnableSystemTrustedCerts
                                                            (xmlSecKeyDataStorePtr store,
                                                             int val);
## Description X509 certificates support implementation for MS Crypto. ## Details ### xmlSecMSCryptoKeyDataX509Id
    #define             xmlSecMSCryptoKeyDataX509Id
The MSCrypto X509 data klass. ### xmlSecMSCryptoKeyDataX509GetKlass ()
    xmlSecKeyDataId     xmlSecMSCryptoKeyDataX509GetKlass   (void);
The MSCrypto X509 key data klass (http://www.w3.org/TR/xmldsig-core/sec-X509Data).
Returns : | the X509 data klass.
### xmlSecMSCryptoKeyDataX509GetKeyCert ()
    PCCERT_CONTEXT      xmlSecMSCryptoKeyDataX509GetKeyCert (xmlSecKeyDataPtr data);
Gets the certificate from which the key was extracted.
`data` : | the pointer to X509 key data.
Returns : | the key's certificate or NULL if key data was not used for key extraction or an error occurs.
### xmlSecMSCryptoKeyDataX509AdoptKeyCert ()
    int                 xmlSecMSCryptoKeyDataX509AdoptKeyCert
                                                            (xmlSecKeyDataPtr data,
                                                             PCCERT_CONTEXT cert);
Sets the key's certificate in `data`.
`data` : | the pointer to X509 key data.
`cert` : | the pointer to MSCRYPTO X509 certificate.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoKeyDataX509AdoptCert ()
    int                 xmlSecMSCryptoKeyDataX509AdoptCert  (xmlSecKeyDataPtr data,
                                                             PCCERT_CONTEXT cert);
Adds certificate to the X509 key data.
`data` : | the pointer to X509 key data.
`cert` : | the pointer to MSCRYPTO X509 certificate.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoKeyDataX509GetCert ()
    PCCERT_CONTEXT      xmlSecMSCryptoKeyDataX509GetCert    (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
Gets a certificate from X509 key data.
`data` : | the pointer to X509 key data.
`pos` : | the desired certificate position.
Returns : | the pointer to certificate or NULL if `pos` is larger than the number of certificates in `data` or an error occurs.
### xmlSecMSCryptoKeyDataX509GetCertsSize ()
    xmlSecSize          xmlSecMSCryptoKeyDataX509GetCertsSize
                                                            (xmlSecKeyDataPtr data);
Gets the number of certificates in `data`.
`data` : | the pointer to X509 key data.
Returns : | te number of certificates in `data`.
### xmlSecMSCryptoKeyDataX509AdoptCrl ()
    int                 xmlSecMSCryptoKeyDataX509AdoptCrl   (xmlSecKeyDataPtr data,
                                                             PCCRL_CONTEXT crl);
Adds CRL to the X509 key data.
`data` : | the pointer to X509 key data.
`crl` : | the pointer to MSCrypto X509 CRL.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoKeyDataX509GetCrl ()
    PCCRL_CONTEXT       xmlSecMSCryptoKeyDataX509GetCrl     (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
Gets a CRL from X509 key data.
`data` : | the pointer to X509 key data.
`pos` : | the desired CRL position.
Returns : | the pointer to CRL or NULL if `pos` is larger than the number of CRLs in `data` or an error occurs.
### xmlSecMSCryptoKeyDataX509GetCrlsSize ()
    xmlSecSize          xmlSecMSCryptoKeyDataX509GetCrlsSize
                                                            (xmlSecKeyDataPtr data);
Gets the number of CRLs in `data`.
`data` : | the pointer to X509 key data.
Returns : | te number of CRLs in `data`.
### xmlSecMSCryptoKeyDataRawX509CertId
    #define             xmlSecMSCryptoKeyDataRawX509CertId
The MSCrypto raw X509 certificate klass. ### xmlSecMSCryptoKeyDataRawX509CertGetKlass ()
    xmlSecKeyDataId     xmlSecMSCryptoKeyDataRawX509CertGetKlass
                                                            (void);
The raw X509 certificates key data klass.
Returns : | raw X509 certificates key data klass.
### xmlSecMSCryptoX509StoreId
    #define             xmlSecMSCryptoX509StoreId
The MSCrypto X509 store klass. ### xmlSecMSCryptoX509StoreGetKlass ()
    xmlSecKeyDataStoreId  xmlSecMSCryptoX509StoreGetKlass   (void);
The MSCrypto X509 certificates key data store klass.
Returns : | pointer to MSCrypto X509 certificates key data store klass.
### xmlSecMSCryptoX509StoreFindCert ()
    PCCERT_CONTEXT      xmlSecMSCryptoX509StoreFindCert     (xmlSecKeyDataStorePtr store,
                                                             xmlChar *subjectName,
                                                             xmlChar *issuerName,
                                                             xmlChar *issuerSerial,
                                                             xmlChar *ski,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
Searches `store` for a certificate that matches given criteria.
`store` : | the pointer to X509 key data store klass.
`subjectName` : | the desired certificate name.
`issuerName` : | the desired certificate issuer name.
`issuerSerial` : | the desired certificate issuer serial number.
`ski` : | the desired certificate SKI.
`keyInfoCtx` : | the pointer to <dsig:KeyInfo/> element processing context.
Returns : | pointer to found certificate or NULL if certificate is not found or an error occurs.
### xmlSecMSCryptoX509StoreVerify ()
    PCCERT_CONTEXT      xmlSecMSCryptoX509StoreVerify       (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE certs,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
Verifies `certs` list.
`store` : | the pointer to X509 certificate context store klass.
`certs` : | the untrusted certificates stack.
`keyInfoCtx` : | the pointer to <dsig:KeyInfo/> element processing context.
Returns : | pointer to the first verified certificate from `certs`.
### xmlSecMSCryptoX509StoreAdoptCert ()
    int                 xmlSecMSCryptoX509StoreAdoptCert    (xmlSecKeyDataStorePtr store,
                                                             PCCERT_CONTEXT cert,
                                                             xmlSecKeyDataType type);
Adds trusted (root) or untrusted certificate to the store.
`store` : | the pointer to X509 key data store klass.
`cert` : | the pointer to PCCERT_CONTEXT X509 certificate.
`type` : | the certificate type (trusted/untrusted).
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoX509StoreAdoptKeyStore ()
    int                 xmlSecMSCryptoX509StoreAdoptKeyStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE keyStore);
Adds `keyStore` to the list of key stores.
`store` : | the pointer to X509 key data store klass.
`keyStore` : | the pointer to keys store.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoX509StoreAdoptTrustedStore ()
    int                 xmlSecMSCryptoX509StoreAdoptTrustedStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE trustedStore);
Adds `trustedStore` to the list of trusted certs stores.
`store` : | the pointer to X509 key data store klass.
`trustedStore` : | the pointer to certs store.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoX509StoreAdoptUntrustedStore ()
    int                 xmlSecMSCryptoX509StoreAdoptUntrustedStore
                                                            (xmlSecKeyDataStorePtr store,
                                                             HCERTSTORE untrustedStore);
Adds `trustedStore` to the list of un-trusted certs stores.
`store` : | the pointer to X509 key data store klass.
`untrustedStore` : | the pointer to certs store.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()
    void                xmlSecMSCryptoX509StoreEnableSystemTrustedCerts
                                                            (xmlSecKeyDataStorePtr store,
                                                             int val);
Enables/disables the system trusted certs.
`store` : | the pointer to X509 key data store klass.
`val` : | the enable/disable flag