virtual Glacier2::SessionPrx create(const Glacier2::SSLInfo& info, const Glacier2::SessionControlPrx&, const Ice::Current& current) { testContext(true, current.ctx); test(info.remoteHost == "127.0.0.1"); test(info.localHost == "127.0.0.1"); test(info.localPort == 12348); try { IceSSL::CertificatePtr cert = IceSSL::Certificate::decode(info.certs[0]); test(cert->getIssuerDN() == IceSSL::DistinguishedName( "[email protected],CN=ZeroC Test CA,OU=Ice,O=ZeroC\\, Inc.,L=Palm Beach Gardens," "ST=Florida,C=US")); test(cert->getSubjectDN() == IceSSL::DistinguishedName( "CN=Client,[email protected],OU=Ice,O=ZeroC\\, Inc.,ST=Florida,C=US")); test(cert->checkValidity()); } catch(const IceSSL::CertificateReadException&) { test(false); } Glacier2::SessionPtr session = new SessionI(true, true); return Glacier2::SessionPrx::uncheckedCast(current.adapter->addWithUUID(session)); }
virtual bool authorize(const Glacier2::SSLInfo& info, string&, const Ice::Current& current) const { testContext(true, current.ctx); IceSSL::CertificatePtr cert = IceSSL::Certificate::decode(info.certs[0]); test(cert->getIssuerDN() == IceSSL::DistinguishedName( "[email protected],CN=ZeroC Test CA,OU=Ice,O=ZeroC\\, Inc.," "L=Palm Beach Gardens,ST=Florida,C=US")); test(cert->getSubjectDN() == IceSSL::DistinguishedName( "CN=Client,[email protected],OU=Ice,O=ZeroC\\, Inc.,ST=Florida,C=US")); test(cert->checkValidity()); return true; }
virtual bool authorize(const Glacier2::SSLInfo& info, string&, const Ice::Current& current) const { if(current.ctx.find("throw") != current.ctx.end()) { throw Test::ExtendedPermissionDeniedException("reason"); } test(info.certs.size() > 0); IceSSL::CertificatePtr cert = IceSSL::Certificate::decode(info.certs[0]); test(cert->getIssuerDN() == IceSSL::DistinguishedName( "[email protected],C=US,ST=Florida,L=Jupiter,O=ZeroC\\, Inc.,OU=Ice,CN=Ice Tests CA")); test(cert->getSubjectDN() == IceSSL::DistinguishedName( "[email protected],C=US,ST=Florida,L=Jupiter,O=ZeroC\\, Inc.,OU=Ice,CN=client")); test(cert->checkValidity()); return true; }
virtual bool authorize(const Glacier2::SSLInfo& info, string&, const Ice::Current& current) const { if(current.ctx.find("throw") != current.ctx.end()) { throw Test::ExtendedPermissionDeniedException("reason"); } IceSSL::CertificatePtr cert = IceSSL::Certificate::decode(info.certs[0]); test(cert->getIssuerDN() == IceSSL::DistinguishedName( "[email protected],CN=ZeroC Test CA,OU=Ice,O=ZeroC\\, Inc.,L=Palm Beach Gardens," "ST=Florida,C=US")); test(cert->getSubjectDN() == IceSSL::DistinguishedName( "CN=Client,[email protected],OU=Ice,O=ZeroC\\, Inc.,ST=Florida,C=US")); test(cert->checkValidity()); return true; }