-
Notifications
You must be signed in to change notification settings - Fork 113
API XMLSec OpenSSL X509
API Group: xmlsec_openssl_x509
X.509 certificate handling for the OpenSSL back-end.
X509 certificates verification support functions for OpenSSL.
X509 certificates implementation for OpenSSL.
X509 key data implementation.
Defined as: STACK_OF(X509)
Source: include/xmlsec/openssl/x509.h
Macro. To make docbook happy.
Defined as: STACK_OF(X509_CRL)
Source: include/xmlsec/openssl/x509.h
Macro. To make docbook happy.
Defined as: xmlSecOpenSSLKeyDataX509GetKlass()
Source: include/xmlsec/openssl/x509.h
The OpenSSL X509 data klass.
Defined as: xmlSecOpenSSLKeyDataRawX509CertGetKlass()
Source: include/xmlsec/openssl/x509.h
The OpenSSL raw X509 certificate klass.
Defined as: xmlSecOpenSSLX509StoreGetKlass()
Source: include/xmlsec/openssl/x509.h
The OpenSSL X509 store klass.
xmlSecKeyDataId xmlSecOpenSSLKeyDataX509GetKlass(void);Source: include/xmlsec/openssl/x509.h
The OpenSSL X509 key data klass.
The OpenSSL X509 key data klass (http://www.w3.org/TR/xmldsig-core/#sec-X509Data).
Returns: the X509 data klass.
X509 * xmlSecOpenSSLKeyDataX509GetKeyCert(xmlSecKeyDataPtr data);Source: include/xmlsec/openssl/x509.h
Gets the certificate from which the key was extracted.
Parameters:
-
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.
int xmlSecOpenSSLKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data, X509 *cert);Source: include/xmlsec/openssl/x509.h
Adds certificate to the X509 key data and sets the it as the key's.
Parameters:
-
data— the pointer to X509 key data. -
cert— the pointer to OpenSSL X509 certificate. certificate indata. On success, thedataowns the cert. This function DOES NOT check if the key matches the key cert (usexmlSecOpenSSLAppKeyCertLoadBIOthat performs this check).
Returns: 0 on success or a negative value if an error occurs.
int xmlSecOpenSSLKeyDataX509AdoptCert(xmlSecKeyDataPtr data, X509 *cert);Source: include/xmlsec/openssl/x509.h
Adds certificate to the X509 key data.
Adds certificate to the X509 key data. On success, the data owns the cert.
Parameters:
-
data— the pointer to X509 key data. -
cert— the pointer to OpenSSL X509 certificate.
Returns: 0 on success or a negative value if an error occurs.
X509 * xmlSecOpenSSLKeyDataX509GetCert(xmlSecKeyDataPtr data, xmlSecSize pos);Source: include/xmlsec/openssl/x509.h
Gets a certificate from X509 key data.
Parameters:
-
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.
xmlSecSize xmlSecOpenSSLKeyDataX509GetCertsSize(xmlSecKeyDataPtr data);Source: include/xmlsec/openssl/x509.h
Gets the number of certificates in data.
Parameters:
-
data— the pointer to X509 key data.
Returns: te number of certificates in data.
int xmlSecOpenSSLKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, X509_CRL *crl);Source: include/xmlsec/openssl/x509.h
Adds CRL to the X509 key data.
Parameters:
-
data— the pointer to X509 key data. -
crl— the pointer to OpenSSL X509 CRL.
Returns: 0 on success or a negative value if an error occurs.
X509_CRL * xmlSecOpenSSLKeyDataX509GetCrl(xmlSecKeyDataPtr data, xmlSecSize pos);Source: include/xmlsec/openssl/x509.h
Gets a CRL from X509 key data.
Parameters:
-
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.
xmlSecSize xmlSecOpenSSLKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data);Source: include/xmlsec/openssl/x509.h
Gets the number of CRLs in data.
Parameters:
-
data— the pointer to X509 key data.
Returns: te number of CRLs in data.
xmlSecKeyDataPtr xmlSecOpenSSLX509CertGetKey(X509 *cert);Source: include/xmlsec/openssl/x509.h
Extracts public key from the cert.
Parameters:
-
cert— the certificate.
Returns: public key value or NULL if an error occurs.
xmlSecKeyDataId xmlSecOpenSSLKeyDataRawX509CertGetKlass(void);Source: include/xmlsec/openssl/x509.h
The raw X509 certificates key data klass.
Returns: raw X509 certificates key data klass.
xmlSecKeyDataStoreId xmlSecOpenSSLX509StoreGetKlass(void);Source: include/xmlsec/openssl/x509.h
The OpenSSL X509 certificates key data store klass.
Returns: the store klass.
X509 * xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, STACK_OF(X509) *certs, STACK_OF(X509_CRL) *crls, xmlSecKeyInfoCtx *keyInfoCtx);Source: include/xmlsec/openssl/x509.h
int xmlSecOpenSSLX509StoreVerifyKey(xmlSecKeyDataStorePtr store, xmlSecKeyPtr key, xmlSecKeyInfoCtxPtr keyInfoCtx);Source: include/xmlsec/openssl/x509.h
Verifies key with the keys manager mngr created with xmlSecCryptoAppDefaultKeysMngrInit.
Parameters:
-
store— the pointer to X509 key data store klass. -
key— the pointer to key. -
keyInfoCtx— the key info context for verification. function: -
Checks that key certificate is present
-
Checks that key certificate is valid
Adds key to the keys manager mngr created with xmlSecCryptoAppDefaultKeysMngrInit function.
Returns: 1 if key is verified, 0 otherwise, or a negative value if an error occurs.
int xmlSecOpenSSLX509StoreVerifyCrl(xmlSecKeyDataStorePtr store, X509_CRL *crl, xmlSecKeyInfoCtxPtr keyInfoCtx);Source: include/xmlsec/openssl/x509.h
Verifies crl by checking:
Parameters:
-
store— the pointer to X509 key data store klass. -
crl— the CRL to verify. -
keyInfoCtx— the key info context for verification parameters.
- Signature is valid (signed by issuer cert in store)
- thisUpdate <= verification_time <= nextUpdate
Returns: 1 if verified, 0 if not verified, or a negative value on error.
int xmlSecOpenSSLX509StoreAdoptCert(xmlSecKeyDataStorePtr store, X509 *cert, xmlSecKeyDataType type);Source: include/xmlsec/openssl/x509.h
Adds cert to the trusted or untrusted store.
Adds trusted (root) or untrusted certificate to the store.
Parameters:
-
store— the pointer to X509 key data store klass. -
cert— the pointer to OpenSSL X509 certificate. -
type— the certificate type (trusted/untrusted).
Returns: 0 on success or a negative value if an error occurs.
int xmlSecOpenSSLX509StoreAdoptCrl(xmlSecKeyDataStorePtr store, X509_CRL *crl);Source: include/xmlsec/openssl/x509.h
Adds X509 CRL to the store.
Parameters:
-
store— the pointer to X509 key data store klass. -
crl— the pointer to OpenSSL X509_CRL.
Returns: 0 on success or a negative value if an error occurs.
int xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, const char *path);Source: include/xmlsec/openssl/x509.h
Adds all certs in the path to the list of trusted certs.
Parameters:
-
store— the pointer to OpenSSL x509 store. -
path— the path to the certs dir. instore.
Returns: 0 on success or a negative value otherwise.
int xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store, const char *filename);Source: include/xmlsec/openssl/x509.h
Adds all certs in the file to the list of trusted certs.
Parameters:
-
store— the pointer to OpenSSL x509 store. -
filename— the certs file. instore. It is possible for the file to contain multiple certs.
Returns: 0 on success or a negative value otherwise.
X509 * xmlSecOpenSSLX509StoreFindCert(xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlChar *ski, xmlSecKeyInfoCtx *keyInfoCtx);Source: include/xmlsec/openssl/x509.h
Deprecated. Searches store for a certificate that matches given criteria.
Parameters:
-
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.
X509 * xmlSecOpenSSLX509StoreFindCert_ex(xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlSecByte *ski, xmlSecSize skiSize, xmlSecKeyInfoCtx *keyInfoCtx);Source: include/xmlsec/openssl/x509.h
Deprecated. Searches store for a certificate that matches given criteria.
Parameters:
-
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. -
skiSize— the desired certificate SKI size. -
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.