Project

General

Profile

TLS-Design » History » Revision 7

Revision 6 (Tobias Wich, 10/08/2012 11:08 AM) → Revision 7/20 (Tobias Wich, 10/15/2012 12:20 PM)

h1. TLS-Design (iteration from 2012-10-08) 

 h2. TLS and related Classes 

 h3. BouncyCastle Classes 

 This diagram shows the TLS classes as available in the BouncyCastle library. 

 The "TlsCredentials":http://www.bouncycastle.org/docs/docs1.5on/org/bouncycastle/crypto/tls/TlsCredentials.html and "TlsSignerCredentials":http://www.bouncycastle.org/docs/docs1.5on/org/bouncycastle/crypto/tls/TlsSignerCredentials.html interface are located in the upper left of the diagram. These interfaces are used in a TLS client authentication to get the client certificate and to produce a signature. For the use of software certificates, BouncyCastle comes with the implementation "DefaultTlsSignerCredentials":http://www.bouncycastle.org/docs/docs1.5on/org/bouncycastle/crypto/tls/DefaultTlsSignerCredentials.html. 

 
 !bc-tls-classes.png! 

 

 h3. Open eCard Classes 

 This diagram shows classes that make use of the BouncyCastle classes in order to select and use custom credentials for the TLS authentication. 
 !oec-tls-classes.png! 

 

 h3. Apache http-core Classes 

 !http-core-classes.png! 

 h2. Client creation 

 The two following diagrams show how the a TLS channel is established and reused. 

 !tls-client-creation.png! 
 !tls-client-reuse.png! 

 h2. Credential Selection 

 The following two activity charts show the process how a credential is selected for the authentication. 

 !select-certificate.png! 
 !select-certificate-from-handles.png! 


 h1. TLS Design (old version left here until design is finished) 

 h2. Bouncy Castle TLS authentication classes 
 !bc-tls.png! 

 h2. TLS authentication implementation classes 
 !sal-tls.png! 

 h2. TLS authentication sequence 
 !sal-tls-sequence.png! 

 h1. TLS Design by HSCoburg 

 h2. Bouncycastle Implementation Design - class diagramm 

 Description: TODO 

 !uml_bouncycastleimplementation.png!