summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp128
1 files changed, 0 insertions, 128 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp
deleted file mode 100644
index 27f173dfaac..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.h"
-
-#include "ace/OS_String.h"
-
-
-ACE_RCSID (SSLIOP,
- SSLIOP_Current_Impl,
- "$Id$")
-
-
-#if !defined (__ACE_INLINE__)
-# include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "orbsvcs/SSLIOP/SSLIOP_X509.h"
-#include "orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h"
-
-#include "tao/ORB_Constants.h"
-
-#include <openssl/x509.h>
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
-TAO::SSLIOP::Current_Impl::~Current_Impl (void)
-{
-}
-
-SecurityLevel3::ClientCredentials_ptr
-TAO::SSLIOP::Current_Impl::client_credentials (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO::SSLIOP::X509_var cert = ::SSL_get_peer_certificate (this->ssl_);
- if (cert.ptr () == 0)
- ACE_THROW_RETURN (CORBA::BAD_OPERATION (),
- SecurityLevel3::ClientCredentials::_nil ());
-
- SecurityLevel3::ClientCredentials_ptr creds;
- ACE_NEW_THROW_EX (creds,
- TAO::SSLIOP::ClientCredentials (cert.in (),
- 0,
- this->ssl_),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO::VMCID,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (SecurityLevel3::ClientCredentials::_nil ());
-
- return creds;
-}
-
-CORBA::Boolean
-TAO::SSLIOP::Current_Impl::request_is_local (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-void
-TAO::SSLIOP::Current_Impl::get_peer_certificate (
- ::SSLIOP::ASN_1_Cert *certificate)
-{
- if (this->ssl_ == 0)
- return;
-
- TAO::SSLIOP::X509_var cert = ::SSL_get_peer_certificate (this->ssl_);
- if (cert.ptr () == 0)
- return;
-
- // Get the size of the ASN.1 encoding.
- const int cert_length = ::i2d_X509 (cert.in (), 0);
- if (cert_length <= 0)
- return;
-
- certificate->length (cert_length);
-
- CORBA::Octet *buffer = certificate->get_buffer ();
-
- // Convert from the internal X509 representation to the DER encoding
- // representation.
- (void) ::i2d_X509 (cert.in (), &buffer);
-}
-
-void
-TAO::SSLIOP::Current_Impl::get_peer_certificate_chain (
- ::SSLIOP::SSL_Cert *cert_chain)
-{
- if (this->ssl_ == 0)
- return;
-
- STACK_OF (X509) *certs = ::SSL_get_peer_cert_chain (this->ssl_);
- if (certs == 0)
- return;
-
- const int chain_length = sk_X509_num (certs);
- cert_chain->length (chain_length);
-
- // Copy the peer certificate chain to the SSLIOP::SSL_Cert
- // sequence.
- for (int i = 0; i < chain_length; ++i)
- {
- // Extract the certificate from the OpenSSL X509 stack.
- ::X509 *x = sk_X509_value (certs, i);
-
- // Get the size of the ASN.1 encoding.
- const int cert_length = ::i2d_X509 (x, 0);
- if (cert_length <= 0)
- continue; // @@ What do we do if there is an error?
-
- ::SSLIOP::ASN_1_Cert &certificate = (*cert_chain)[i];
- certificate.length (cert_length);
-
- CORBA::Octet *buffer = certificate.get_buffer ();
-
- // Convert from the internal X509 representation to the DER
- // encoding representation.
- (void) ::i2d_X509 (x, &buffer);
- }
-}
-
-CORBA::ULong
-TAO::SSLIOP::Current_Impl::tag (void) const
-{
- return ::SSLIOP::TAG_SSL_SEC_TRANS;
-}
-
-TAO_END_VERSIONED_NAMESPACE_DECL