Class ConnectionRequest.SSLCertificate

java.lang.Object
com.codename1.io.ConnectionRequest.SSLCertificate
Enclosing class:
ConnectionRequest

public static final class ConnectionRequest.SSLCertificate extends Object

Encapsulates an SSL certificate fingerprint.

SSL Pinning

The recommended approach to SSL Pinning is to override the #checkSSLCertificates(com.codename1.io.ConnectionRequest.SSLCertificate[]) method in your ConnectionRequest object, and check the certificates that are provided as a parameter. This callback if fired before sending data to the server, but after the SSL handshake is complete so that you have an opportunity to kill the request before sending your POST data.

Example:

`ConnectionRequest req = new ConnectionRequest() {
@Override
    protected void checkSSLCertificates(ConnectionRequest.SSLCertificate[] certificates) {
        if (!trust(certificates)) {
            // Assume that you've implemented method trust(SSLCertificate[] certs)
            // to tell you whether you trust some certificates.
            this.kill();`
    }
};
req.setCheckSSLCertificates(true);
....
}
See also
  • #getSSLCertificates()

  • #canGetSSLCertificates()

  • #isCheckSSLCertificates()

  • #setCheckSSLCertificates(boolean)

  • #checkSSLCertificates(com.codename1.io.ConnectionRequest.SSLCertificate[])

  • Constructor Details

    • SSLCertificate

      public SSLCertificate()
  • Method Details

    • getCertificteUniqueKey

      public String getCertificteUniqueKey()
      Gets a fingerprint for the SSL certificate encoded using the algorithm specified by #getCertificteAlgorithm()
    • getCertificteAlgorithm

      public String getCertificteAlgorithm()

      Gets the algorithm used to encode the fingerprint. Default is SHA1

      Returns

      The algorithm used to encode the certificate fingerprint.