public TlsAuthentication getAuthentication() throws IOException { return new ServerOnlyTlsAuthentication() { public void notifyServerCertificate(org.bouncycastle.crypto.tls.Certificate serverCertificate) throws IOException { Certificate[] chain = serverCertificate.getCertificateList(); System.out.println("Received server certificate chain with " + chain.length + " entries"); for (int i = 0; i != chain.length; i++) { Certificate entry = chain[i]; System.out.println(" " + entry.getSubject()); } } }; }
static DTLSTransport createClientTransport(final DatagramTransport transport) throws IOException { final DefaultTlsClient defaultTlsClient = new DefaultTlsClient() { @Override public ProtocolVersion getClientVersion() { return ProtocolVersion.DTLSv10; } @Override public ProtocolVersion getMinimumVersion() { return ProtocolVersion.DTLSv10; } @Override public TlsAuthentication getAuthentication() throws IOException { return new ServerOnlyTlsAuthentication() { @Override public void notifyServerCertificate(final Certificate serverCertificate) throws IOException { //TODO Check if certificate is signed by a trusted party. } }; } }; return new DTLSClientProtocol(SECURE_RANDOM).connect(defaultTlsClient, transport); }
public TlsAuthentication getAuthentication() throws IOException { return new TlsAuthentication() { public void notifyServerCertificate(org.bouncycastle.crypto.tls.Certificate serverCertificate) throws IOException { Certificate[] chain = serverCertificate.getCertificateList(); System.out.println("Received server certificate chain of length " + chain.length); for (int i = 0; i != chain.length; i++) { Certificate entry = chain[i]; // TODO Create fingerprint based on certificate signature algorithm digest System.out.println(" fingerprint:SHA-256 " + TlsTestUtils.fingerprint(entry) + " (" + entry.getSubject() + ")"); } } public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) throws IOException { short[] certificateTypes = certificateRequest.getCertificateTypes(); if (certificateTypes != null) { for (int i = 0; i < certificateTypes.length; ++i) { if (certificateTypes[i] == ClientCertificateType.rsa_sign) { // TODO Create a distinct client certificate for use here return TlsTestUtils.loadSignerCredentials(context, new String[]{"x509-server.pem", "x509-ca.pem"}, "x509-server-key.pem"); } } } return null; } }; }
MyTlsClient(TlsAuthentication authentication) { this.authentication = authentication; }
public TlsAuthentication getAuthentication() throws IOException { return authentication; }
TestTlsClient(TlsAuthentication authentication) { this.authentication = authentication; }