org.csapi.jr.se.fw.fw_access.trust_and_security
Interface ClientAccess
- All Superinterfaces:
- CsapiInterface, java.io.Serializable
- public interface ClientAccess
- extends CsapiInterface
IpClientAccess interface is offered by the client to the framework to allow it to initiate interactions during the access session. This interface and the terminateAccess() method shall be implemented by a client.
Method Summary |
void |
terminateAccess(java.lang.String terminationText,
java.lang.String signingAlgorithm,
byte[] digitalSignature)
The terminateAccess operation is used by the framework to end the client's access session. |
terminateAccess
public void terminateAccess(java.lang.String terminationText,
java.lang.String signingAlgorithm,
byte[] digitalSignature)
throws CommonException,
InvalidSigningAlgorithmException,
InvalidSignatureException
- The terminateAccess operation is used by the framework to end the client's access session.
After terminateAccess() is invoked, the client will no longer be authenticated with the framework. The client will not be able to use the references to any of the framework interfaces gained during the access session. Any calls to these interfaces will fail. Also, all remaining service instances created by the framework either directly in this access session or on behalf of the client during this access session shall be terminated. If at any point the framework's level of confidence in the identity of the client becomes too low, perhaps due to re-authentication failing, the framework should terminate all outstanding service agreements for that client, and should take steps to terminate the client's access session WITHOUT invoking terminateAccess() on the client. This follows a generally accepted security model where the framework has decided that it can no longer trust the client and will therefore sever ALL contact with it.
- Parameters:
terminationText
- This is the termination text describes the reason for the termination of the access session.signingAlgorithm
- This is the algorithm used to compute the digital signature. It shall be identical to the one chosen by the framework in response to IpAccess.selectSigningAlgorithm(). If the signingAlgorithm is not the chosen one, is invalid, or unknown to the client, the P_INVALID_SIGNING_ALGORITHM exception will be thrown. The list of possible algorithms is as specified in the TpSigningAlgorithm table. The identifier used in this parameter must correspond to the digestAlgorithm and signatureAlgorithm fields in the SignerInfo field in the digitalSignature (see below).digitalSignature
- This contains a CMS (Cryptographic Message Syntax) object (as defined in RFC 2630) with content type Signed-data. The signature is calculated and created as per section 5 of RFC 2630. The content is made of the termination text. The "external signature" construct shall not be used (that is the eContent field in the EncapsulatedContentInfo field shall be present and contain the termination text string). The signing-time attribute, as defined in section 11.3 of RFC 2630, shall also be used to provide replay prevention. The framework uses this to confirm its identity to the client. The client can check that the terminationText has been signed by the framework. If a match is made, the access session is terminated, otherwise the P_INVALID_SIGNATURE exception will be thrown.
- Throws:
CommonException
- Defines the structure of the exception class which is applicable to all methods.
InvalidSigningAlgorithmException
- Invalid signing algorithm
InvalidSignatureException
- Invalid digital signature