CORBA 2.6 Programmer's Guide for C++
// Exception that indicates a SSLIOP::Current operation was
// invoked outside of an SSL session.
exception NoContext {};
// Return the active cipher
string get_cipher() raises (NoContext);
// Return the number of bits in the active cipher
int get_cipher_bits() raises (NoContext);
// Return the peer certificate DN associdate with the current request.
string get_peer_certificate_dn() raises (NoContext);
// Return the peer certificate DN associated with the current request.
ASN_1_DN get_peer_certificate_dn() raises (NoContext);
// Return the peer certificate associated with the current request.
ASN_1_Cert get_peer_certificate () raises (NoContext);
// Return the certificate chain associated with the current
// execution context. If no SSL session is being used for the
// request or upcall, then the NoContext exception is raised.
//
// On the client side, the chain does include the peer (server)
// certficate. However, the certificate chain on the server side
// does NOT contain the peer (client) certificate.
SSL_Cert get_peer_certificate_chain () raises (NoContext);
// Returns true if the current execution context within a
// SSL session.
boolean SSL_session ();
// SSLIOP Service Context definition.
typedef unsigned long ServiceId;
const ServiceId SSLIOP = 0x4E534400; // NSDOM specific service id number 0
typedef unsigned long ComponentId;
const ComponentId TAG_CIPHER_INFO = 0;
const ComponentId TAG_PEER_DN = 1;
const ComponentId TAG_PEER_CERT = 2;
const ComponentId TAG_PEER_CERT_CHAIN = 3;
struct TaggedData {
ComponentId tag;
sequence<octet> data;
};
struct CipherInfo {
int cipher_bits;