Ice 3.7 C++11 API Reference
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
IceSSL Namespace Reference

Namespaces

 OpenSSL
 

Classes

class  Certificate
 This convenience class is a wrapper around a native certificate. More...
 
class  CertificateEncodingException
 Thrown if the certificate cannot be encoded. More...
 
class  CertificateReadException
 Thrown if the certificate cannot be read. More...
 
class  ConnectionInfo
 Provides access to the connection details of an SSL connection. More...
 
class  DistinguishedName
 This class represents a DistinguishedName, similar to the Java type X500Principal and the .NET type X500DistinguishedName. More...
 
class  EndpointInfo
 Provides access to an SSL endpoint information. More...
 
class  ParseException
 This exception is thrown if a distinguished name cannot be parsed. More...
 
class  Plugin
 Represents the IceSSL plug-in object. More...
 
class  X509Extension
 Represents an X509 Certificate extension. More...
 

Typedefs

using CertificatePtr = ::std::shared_ptr< Certificate >
 
using PluginPtr = ::std::shared_ptr< Plugin >
 
using X509ExtensionPtr = ::std::shared_ptr< X509Extension >
 

Enumerations

enum  TrustError : unsigned char {
  TrustError::NoError = 0, TrustError::ChainTooLong, TrustError::HasExcludedNameConstraint, TrustError::HasNonDefinedNameConstraint,
  TrustError::HasNonPermittedNameConstraint, TrustError::HasNonSupportedCriticalExtension, TrustError::HasNonSupportedNameConstraint, TrustError::HostNameMismatch,
  TrustError::InvalidBasicConstraints, TrustError::InvalidExtension, TrustError::InvalidNameConstraints, TrustError::InvalidPolicyConstraints,
  TrustError::InvalidPurpose, TrustError::InvalidSignature, TrustError::InvalidTime, TrustError::NotTrusted,
  TrustError::PartialChain, TrustError::RevocationStatusUnknown, TrustError::Revoked, TrustError::UntrustedRoot,
  TrustError::UnknownTrustFailure
}
 The reason for an IceSSL certificate verification failure. More...
 

Functions

std::string getHost (const IceSSL::ConnectionInfoPtr &)
 
TrustError getTrustError (const IceSSL::ConnectionInfoPtr &)
 
std::string getTrustErrorDescription (TrustError)
 
bool operator!= (const DistinguishedName &lhs, const DistinguishedName &rhs)
 Performs an exact match. More...
 
bool operator<= (const DistinguishedName &lhs, const DistinguishedName &rhs)
 Performs an exact match. More...
 
bool operator> (const DistinguishedName &lhs, const DistinguishedName &rhs)
 Performs an exact match. More...
 
bool operator>= (const DistinguishedName &lhs, const DistinguishedName &rhs)
 Performs an exact match. More...
 

Variables

const unsigned int EXTENDED_KEY_USAGE_ANY_KEY_USAGE = 1u << 0
 The extended key usage "anyKeyUsage" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_CLIENT_AUTH = 1u << 2
 The extended key usage "clientAuth" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_CODE_SIGNING = 1u << 3
 The extended key usage "codeSigning" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_EMAIL_PROTECTION = 1u << 4
 The extended key usage "emailProtection" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_OCSP_SIGNING = 1u << 6
 The extended key usage "OCSPSigning" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_SERVER_AUTH = 1u << 1
 The extended key usage "serverAuth" bit is set. More...
 
const unsigned int EXTENDED_KEY_USAGE_TIME_STAMPING = 1u << 5
 The extended key usage "timeStamping" bit is set. More...
 
const unsigned int KEY_USAGE_CRL_SIGN = 1u << 6
 The key usage "cRLSign" bit is set. More...
 
const unsigned int KEY_USAGE_DATA_ENCIPHERMENT = 1u << 3
 The key usage "dataEncipherment" bit is set. More...
 
const unsigned int KEY_USAGE_DECIPHER_ONLY = 1u << 8
 The key usage "decipherOnly" bit is set. More...
 
const unsigned int KEY_USAGE_DIGITAL_SIGNATURE = 1u << 0
 The key usage "digitalSignature" bit is set. More...
 
const unsigned int KEY_USAGE_ENCIPHER_ONLY = 1u << 7
 The key usage "encipherOnly" bit is set. More...
 
const unsigned int KEY_USAGE_KEY_AGREEMENT = 1u << 4
 The key usage "keyAgreement" bit is set. More...
 
const unsigned int KEY_USAGE_KEY_CERT_SIGN = 1u << 5
 The key usage "keyCertSign" bit is set. More...
 
const unsigned int KEY_USAGE_KEY_ENCIPHERMENT = 1u << 2
 The key usage "keyEncipherment" bit is set. More...
 
const unsigned int KEY_USAGE_NON_REPUDIATION = 1u << 1
 The key usage "nonRepudiation" bit is set. More...
 

Typedef Documentation

◆ CertificatePtr

using IceSSL::CertificatePtr = typedef ::std::shared_ptr< Certificate >

◆ PluginPtr

using IceSSL::PluginPtr = typedef ::std::shared_ptr< Plugin >

◆ X509ExtensionPtr

using IceSSL::X509ExtensionPtr = typedef ::std::shared_ptr< X509Extension >

Enumeration Type Documentation

◆ TrustError

enum IceSSL::TrustError : unsigned char
strong

The reason for an IceSSL certificate verification failure.

Enumerator
NoError 

The certification verification succeed.

ChainTooLong 

The certificate chain length is greater than the specified maximum depth.

HasExcludedNameConstraint 

The X509 chain is invalid because a certificate has excluded a name constraint.

HasNonDefinedNameConstraint 

The certificate has an undefined name constraint.

HasNonPermittedNameConstraint 

The certificate has a non permitted name constraint.

HasNonSupportedCriticalExtension 

The certificate does not support a critical extension.

HasNonSupportedNameConstraint 

The certificate does not have a supported name constraint or has a name constraint that is unsupported.

HostNameMismatch 

A host name mismatch has occurred.

InvalidBasicConstraints 

The X509 chain is invalid due to invalid basic constraints.

InvalidExtension 

The X509 chain is invalid due to an invalid extension.

InvalidNameConstraints 

The X509 chain is invalid due to invalid name constraints.

InvalidPolicyConstraints 

The X509 chain is invalid due to invalid policy constraints.

InvalidPurpose 

The supplied certificate cannot be used for the specified purpose.

InvalidSignature 

The X509 chain is invalid due to an invalid certificate signature.

InvalidTime 

The X509 chain is not valid due to an invalid time value, such as a value that indicates an expired certificate.

NotTrusted 

The certificate is explicitly not trusted.

PartialChain 

The X509 chain could not be built up to the root certificate.

RevocationStatusUnknown 

It is not possible to determine whether the certificate has been revoked.

Revoked 

The X509 chain is invalid due to a revoked certificate.

UntrustedRoot 

The X509 chain is invalid due to an untrusted root certificate.

UnknownTrustFailure 

The X509 chain is invalid due to other unknown failure.

Function Documentation

◆ getHost()

std::string IceSSL::getHost ( const IceSSL::ConnectionInfoPtr &  )

◆ getTrustError()

TrustError IceSSL::getTrustError ( const IceSSL::ConnectionInfoPtr &  )

◆ getTrustErrorDescription()

std::string IceSSL::getTrustErrorDescription ( TrustError  )

◆ operator!=()

bool IceSSL::operator!= ( const DistinguishedName lhs,
const DistinguishedName rhs 
)
inline

Performs an exact match.

The order of the RDN components is important.

◆ operator<=()

bool IceSSL::operator<= ( const DistinguishedName lhs,
const DistinguishedName rhs 
)
inline

Performs an exact match.

The order of the RDN components is important.

◆ operator>()

bool IceSSL::operator> ( const DistinguishedName lhs,
const DistinguishedName rhs 
)
inline

Performs an exact match.

The order of the RDN components is important.

◆ operator>=()

bool IceSSL::operator>= ( const DistinguishedName lhs,
const DistinguishedName rhs 
)
inline

Performs an exact match.

The order of the RDN components is important.

Variable Documentation

◆ EXTENDED_KEY_USAGE_ANY_KEY_USAGE

const unsigned int IceSSL::EXTENDED_KEY_USAGE_ANY_KEY_USAGE = 1u << 0

The extended key usage "anyKeyUsage" bit is set.

◆ EXTENDED_KEY_USAGE_CLIENT_AUTH

const unsigned int IceSSL::EXTENDED_KEY_USAGE_CLIENT_AUTH = 1u << 2

The extended key usage "clientAuth" bit is set.

◆ EXTENDED_KEY_USAGE_CODE_SIGNING

const unsigned int IceSSL::EXTENDED_KEY_USAGE_CODE_SIGNING = 1u << 3

The extended key usage "codeSigning" bit is set.

◆ EXTENDED_KEY_USAGE_EMAIL_PROTECTION

const unsigned int IceSSL::EXTENDED_KEY_USAGE_EMAIL_PROTECTION = 1u << 4

The extended key usage "emailProtection" bit is set.

◆ EXTENDED_KEY_USAGE_OCSP_SIGNING

const unsigned int IceSSL::EXTENDED_KEY_USAGE_OCSP_SIGNING = 1u << 6

The extended key usage "OCSPSigning" bit is set.

◆ EXTENDED_KEY_USAGE_SERVER_AUTH

const unsigned int IceSSL::EXTENDED_KEY_USAGE_SERVER_AUTH = 1u << 1

The extended key usage "serverAuth" bit is set.

◆ EXTENDED_KEY_USAGE_TIME_STAMPING

const unsigned int IceSSL::EXTENDED_KEY_USAGE_TIME_STAMPING = 1u << 5

The extended key usage "timeStamping" bit is set.

◆ KEY_USAGE_CRL_SIGN

const unsigned int IceSSL::KEY_USAGE_CRL_SIGN = 1u << 6

The key usage "cRLSign" bit is set.

◆ KEY_USAGE_DATA_ENCIPHERMENT

const unsigned int IceSSL::KEY_USAGE_DATA_ENCIPHERMENT = 1u << 3

The key usage "dataEncipherment" bit is set.

◆ KEY_USAGE_DECIPHER_ONLY

const unsigned int IceSSL::KEY_USAGE_DECIPHER_ONLY = 1u << 8

The key usage "decipherOnly" bit is set.

◆ KEY_USAGE_DIGITAL_SIGNATURE

const unsigned int IceSSL::KEY_USAGE_DIGITAL_SIGNATURE = 1u << 0

The key usage "digitalSignature" bit is set.

◆ KEY_USAGE_ENCIPHER_ONLY

const unsigned int IceSSL::KEY_USAGE_ENCIPHER_ONLY = 1u << 7

The key usage "encipherOnly" bit is set.

◆ KEY_USAGE_KEY_AGREEMENT

const unsigned int IceSSL::KEY_USAGE_KEY_AGREEMENT = 1u << 4

The key usage "keyAgreement" bit is set.

◆ KEY_USAGE_KEY_CERT_SIGN

const unsigned int IceSSL::KEY_USAGE_KEY_CERT_SIGN = 1u << 5

The key usage "keyCertSign" bit is set.

◆ KEY_USAGE_KEY_ENCIPHERMENT

const unsigned int IceSSL::KEY_USAGE_KEY_ENCIPHERMENT = 1u << 2

The key usage "keyEncipherment" bit is set.

◆ KEY_USAGE_NON_REPUDIATION

const unsigned int IceSSL::KEY_USAGE_NON_REPUDIATION = 1u << 1

The key usage "nonRepudiation" bit is set.