- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

XML Security Library Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# x509

## Name

x509 --

## 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);

## Description

## 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.

<<< Previous Page | Home | Up | Next Page >>>
keysstore | XML Security Library Reference Index

Aleksey Sanin