11.07.2015 Views

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

vbsec::TrustProvidervbsec::TrustProviderWhen a remote peer (server or process) makes identity assertions in order to act onbehalf of the callers, the end-tier server needs to trust the peer to make suchassertions. This is meant to prevent untrusted clients from making assertions.The key method is isAssertionTrusted, which is called to determine whether theassertion is trusted given the caller subject and asserter's privileges. This method iscalled (by the underline implementation) after the corresponding authorizationelements transmitted from a client to the server have been consumed.You use the TrustProvider class to implement trust rules which determine whether theend-tier server accepts identity assertions from a given asserting subject. TheTrustProvider class is very closely related to the implementation of the AttributeCodecobjects and the privileges. For example, it is possible to provide the decision-makingimplementation as follows:1 Provide class implementations representing a proxy endorsement attribute,2 AttributeCodec implements the necessary logic then passes the attributes andimports them to the caller subject on the server-side. It is also necessary to returntrue for the method supportsClientDelegation defined in the AttributeCodecinterface.3 Provide the method implementation based on the proxy endorsement attribute ofthe caller and the privileges of the asserter.This type of evaluation of trust, which is based on rules provided by the caller, isreferred to as Forward Trust. Backward Trust is when the evaluation of trust is basedon the rules of the target. Backward Trust is the default provided with the VisiSecureinstallation. For more information, see “Trust assertions and plug-ins” on page 21.MethodsArgumentsvirtual void initialize (::vbsec::InitOptions&, std::map&) =0;This method initializes the TrustProvider. There can be only one instance of theTrustProvider implementation existing for each process.For the provider's options, the following additional information is also passed during theinitialization:NameORBLoggerLogLevelDescriptionThe ORB instance used for the current system.A SimpleLogger instance used for the current system for the purpose of logging.An integer value denoting the security logging level.ExceptionsArgumentsReturnsExceptionsThrows InitializationException if initialization of the TrustProvider fails.virtual bool isAssertionTrusted (const ::vbsec::Subject&, const::vbsec::Privileges&) =0;This method verifies whether an assertion of the caller by the asserter with theprovided privileges is trusted or not. The implementation makes use of the internal trustrules for this process to determine the validity of the assertion.This method takes the following two arguments:■The caller.■The set of asserter privileges.true|falsenone132 VisiBroker Security Guide

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!