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 NSS. ## Synopsis
    #define             xmlSecNssKeyDataX509Id
    xmlSecKeyDataId     xmlSecNssKeyDataX509GetKlass        (void);
    CERTCertificate*    xmlSecNssKeyDataX509GetKeyCert      (xmlSecKeyDataPtr data);
    int                 xmlSecNssKeyDataX509AdoptKeyCert    (xmlSecKeyDataPtr data,
                                                             CERTCertificate *cert);
    int                 xmlSecNssKeyDataX509AdoptCert       (xmlSecKeyDataPtr data,
                                                             CERTCertificate *cert);
    CERTCertificate*    xmlSecNssKeyDataX509GetCert         (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
    xmlSecSize          xmlSecNssKeyDataX509GetCertsSize    (xmlSecKeyDataPtr data);
    int                 xmlSecNssKeyDataX509AdoptCrl        (xmlSecKeyDataPtr data,
                                                             CERTSignedCrl *crl);
    CERTSignedCrl*      xmlSecNssKeyDataX509GetCrl          (xmlSecKeyDataPtr data,
                                                             xmlSecSize pos);
    xmlSecSize          xmlSecNssKeyDataX509GetCrlsSize     (xmlSecKeyDataPtr data);
    xmlSecKeyDataPtr    xmlSecNssX509CertGetKey             (CERTCertificate *cert);
    #define             xmlSecNssKeyDataRawX509CertId
    xmlSecKeyDataId     xmlSecNssKeyDataRawX509CertGetKlass (void);
    #define             xmlSecNssX509StoreId
    xmlSecKeyDataStoreId  xmlSecNssX509StoreGetKlass        (void);
    CERTCertificate*    xmlSecNssX509StoreFindCert          (xmlSecKeyDataStorePtr store,
                                                             xmlChar *subjectName,
                                                             xmlChar *issuerName,
                                                             xmlChar *issuerSerial,
                                                             xmlChar *ski,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
    CERTCertificate*    xmlSecNssX509StoreVerify            (xmlSecKeyDataStorePtr store,
                                                             CERTCertList *certs,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
    int                 xmlSecNssX509StoreAdoptCert         (xmlSecKeyDataStorePtr store,
                                                             CERTCertificate *cert,
                                                             xmlSecKeyDataType type);
## Description X509 certificates support implementation for NSS. ## Details ### xmlSecNssKeyDataX509Id
    #define             xmlSecNssKeyDataX509Id
The NSS X509 data klass. ### xmlSecNssKeyDataX509GetKlass ()
    xmlSecKeyDataId     xmlSecNssKeyDataX509GetKlass        (void);
The NSS X509 key data klass (http://www.w3.org/TR/xmldsig-core/sec-X509Data).
Returns : | the X509 data klass.
### xmlSecNssKeyDataX509GetKeyCert ()
    CERTCertificate*    xmlSecNssKeyDataX509GetKeyCert      (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.
### xmlSecNssKeyDataX509AdoptKeyCert ()
    int                 xmlSecNssKeyDataX509AdoptKeyCert    (xmlSecKeyDataPtr data,
                                                             CERTCertificate *cert);
Sets the key's certificate in `data`.
`data` : | the pointer to X509 key data.
`cert` : | the pointer to NSS X509 certificate.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecNssKeyDataX509AdoptCert ()
    int                 xmlSecNssKeyDataX509AdoptCert       (xmlSecKeyDataPtr data,
                                                             CERTCertificate *cert);
Adds certificate to the X509 key data.
`data` : | the pointer to X509 key data.
`cert` : | the pointer to NSS X509 certificate.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecNssKeyDataX509GetCert ()
    CERTCertificate*    xmlSecNssKeyDataX509GetCert         (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.
### xmlSecNssKeyDataX509GetCertsSize ()
    xmlSecSize          xmlSecNssKeyDataX509GetCertsSize    (xmlSecKeyDataPtr data);
Gets the number of certificates in `data`.
`data` : | the pointer to X509 key data.
Returns : | te number of certificates in `data`.
### xmlSecNssKeyDataX509AdoptCrl ()
    int                 xmlSecNssKeyDataX509AdoptCrl        (xmlSecKeyDataPtr data,
                                                             CERTSignedCrl *crl);
Adds CRL to the X509 key data.
`data` : | the pointer to X509 key data.
`crl` : | the pointer to NSS X509 CRL.
Returns : | 0 on success or a negative value if an error occurs.
### xmlSecNssKeyDataX509GetCrl ()
    CERTSignedCrl*      xmlSecNssKeyDataX509GetCrl          (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.
### xmlSecNssKeyDataX509GetCrlsSize ()
    xmlSecSize          xmlSecNssKeyDataX509GetCrlsSize     (xmlSecKeyDataPtr data);
Gets the number of CRLs in `data`.
`data` : | the pointer to X509 key data.
Returns : | te number of CRLs in `data`.
### xmlSecNssX509CertGetKey ()
    xmlSecKeyDataPtr    xmlSecNssX509CertGetKey             (CERTCertificate *cert);
Extracts public key from the `cert`.
`cert` : | the certificate.
Returns : | public key value or NULL if an error occurs.
### xmlSecNssKeyDataRawX509CertId
    #define             xmlSecNssKeyDataRawX509CertId
The NSS raw X509 certificate klass. ### xmlSecNssKeyDataRawX509CertGetKlass ()
    xmlSecKeyDataId     xmlSecNssKeyDataRawX509CertGetKlass (void);
The raw X509 certificates key data klass.
Returns : | raw X509 certificates key data klass.
### xmlSecNssX509StoreId
    #define             xmlSecNssX509StoreId
The NSS X509 store klass. ### xmlSecNssX509StoreGetKlass ()
    xmlSecKeyDataStoreId  xmlSecNssX509StoreGetKlass        (void);
The NSS X509 certificates key data store klass.
Returns : | pointer to NSS X509 certificates key data store klass.
### xmlSecNssX509StoreFindCert ()
    CERTCertificate*    xmlSecNssX509StoreFindCert          (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.
### xmlSecNssX509StoreVerify ()
    CERTCertificate*    xmlSecNssX509StoreVerify            (xmlSecKeyDataStorePtr store,
                                                             CERTCertList *certs,
                                                             xmlSecKeyInfoCtx *keyInfoCtx);
Verifies `certs` list.
`store` : | the pointer to X509 key data 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`.
### xmlSecNssX509StoreAdoptCert ()
    int                 xmlSecNssX509StoreAdoptCert         (xmlSecKeyDataStorePtr store,
                                                             CERTCertificate *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 NSS X509 certificate.
`type` : | the certificate type (trusted/untrusted).
Returns : | 0 on success or a negative value if an error occurs.