public abstract class SSLUtil
extends java.lang.Object
| Constructor and Description |
|---|
SSLUtil() |
| Modifier and Type | Method and Description |
|---|---|
static long |
crc32(java.lang.String data)
Generates a CRC 32 Value of String passed
|
static java.io.InputStream |
downloadCertificateFromPath(java.lang.String urlPath)
Deprecated.
Please use
downloadCertificateFromPath(String, Map) instead. |
static java.io.InputStream |
downloadCertificateFromPath(java.lang.String urlPath,
java.util.Map<java.lang.String,java.lang.String> configurations)
Downloads Certificate from URL
|
static java.util.Collection<java.security.cert.X509Certificate> |
getCertificateFromStream(java.io.InputStream stream)
Generate Collection of Certificate from Input Stream
|
static javax.net.ssl.SSLContext |
getSSLContext(javax.net.ssl.KeyManager[] keymanagers)
Returns a SSLContext
|
static javax.net.ssl.SSLContext |
setupClientSSL(java.lang.String certPath,
java.lang.String certPassword)
Create a SSLContext with provided client certificate
|
static boolean |
validateCertificateChain(java.util.Collection<java.security.cert.X509Certificate> clientCerts,
java.util.Collection<java.security.cert.X509Certificate> trustCerts,
java.lang.String authType)
Performs Certificate Chain Validation on provided certificates.
|
static java.lang.Boolean |
validateData(java.util.Collection<java.security.cert.X509Certificate> clientCerts,
java.lang.String algo,
java.lang.String actualSignatureEncoded,
java.lang.String expectedSignature,
java.lang.String requestBody,
java.lang.String webhookId)
Validates Webhook Signature validation based on https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/#event-signature
Returns true if signature is valid
|
public static javax.net.ssl.SSLContext getSSLContext(javax.net.ssl.KeyManager[] keymanagers)
throws SSLConfigurationException
keymanagers - KeyManager[] The key managersSSLConfigurationExceptionpublic static javax.net.ssl.SSLContext setupClientSSL(java.lang.String certPath,
java.lang.String certPassword)
throws SSLConfigurationException
certPath - certPassword - SSLConfigurationExceptionpublic static boolean validateCertificateChain(java.util.Collection<java.security.cert.X509Certificate> clientCerts,
java.util.Collection<java.security.cert.X509Certificate> trustCerts,
java.lang.String authType)
throws PayPalRESTException
clientCerts - Collection of X509Certificates provided in requesttrustCerts - Collection of X509Certificates trusted by applicationauthType - Auth Type for CertificatePayPalRESTExceptionpublic static java.io.InputStream downloadCertificateFromPath(java.lang.String urlPath)
throws PayPalRESTException
downloadCertificateFromPath(String, Map) instead.urlPath - PayPalRESTExceptionpublic static java.io.InputStream downloadCertificateFromPath(java.lang.String urlPath,
java.util.Map<java.lang.String,java.lang.String> configurations)
throws PayPalRESTException
urlPath - configurations - Map of configurations.PayPalRESTExceptionpublic static java.util.Collection<java.security.cert.X509Certificate> getCertificateFromStream(java.io.InputStream stream)
throws PayPalRESTException
stream - InputStream of Certificate dataPayPalRESTExceptionpublic static long crc32(java.lang.String data)
data - java.lang.RuntimeException - if UTF-8 is not a supported character setpublic static java.lang.Boolean validateData(java.util.Collection<java.security.cert.X509Certificate> clientCerts,
java.lang.String algo,
java.lang.String actualSignatureEncoded,
java.lang.String expectedSignature,
java.lang.String requestBody,
java.lang.String webhookId)
throws java.security.NoSuchAlgorithmException,
java.security.SignatureException,
java.security.InvalidKeyException
clientCerts - Client Certificatesalgo - Algorithm used for signature creation by serveractualSignatureEncoded - Paypal-Transmission-Sig header value passed by serverexpectedSignature - Signature generated by formatting data with CRC32 value of request bodyrequestBody - Request body from serverwebhookId - Id for PayPal Webhook created for receiving the datajava.security.NoSuchAlgorithmExceptionjava.security.SignatureExceptionjava.security.InvalidKeyException