aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java')
-rw-r--r--libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java157
1 files changed, 0 insertions, 157 deletions
diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java
deleted file mode 100644
index 4bdf154a0..000000000
--- a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/tls/test/TlsTestUtils.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.spongycastle.crypto.tls.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.spongycastle.asn1.pkcs.RSAPrivateKey;
-import org.spongycastle.crypto.digests.SHA256Digest;
-import org.spongycastle.crypto.params.AsymmetricKeyParameter;
-import org.spongycastle.crypto.params.RSAPrivateCrtKeyParameters;
-import org.spongycastle.crypto.tls.Certificate;
-import org.spongycastle.crypto.tls.DefaultTlsAgreementCredentials;
-import org.spongycastle.crypto.tls.DefaultTlsEncryptionCredentials;
-import org.spongycastle.crypto.tls.DefaultTlsSignerCredentials;
-import org.spongycastle.crypto.tls.SignatureAndHashAlgorithm;
-import org.spongycastle.crypto.tls.TlsAgreementCredentials;
-import org.spongycastle.crypto.tls.TlsContext;
-import org.spongycastle.crypto.tls.TlsEncryptionCredentials;
-import org.spongycastle.crypto.tls.TlsSignerCredentials;
-import org.spongycastle.crypto.util.PrivateKeyFactory;
-import org.spongycastle.util.encoders.Base64;
-import org.spongycastle.util.encoders.Hex;
-import org.spongycastle.util.io.pem.PemObject;
-import org.spongycastle.util.io.pem.PemReader;
-
-public class TlsTestUtils
-{
- static final byte[] rsaCertData = Base64
- .decode("MIICUzCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1RoZSBMZWdpb2"
- + "4gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJuZTERMA8GA1UECAwIVmljdG9yaWExLzAtBgkq"
- + "hkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3VuY3ljYXN0bGUub3JnMB4XDTEzMDIyNTA2MDIwNVoXDTEzMDIyNT"
- + "A2MDM0NVowgY8xCzAJBgNVBAYTAkFVMSgwJgYDVQQKDB9UaGUgTGVnaW9uIG9mIHRoZSBCb3VuY3kgQ2FzdGxlMRIw"
- + "EAYDVQQHDAlNZWxib3VybmUxETAPBgNVBAgMCFZpY3RvcmlhMS8wLQYJKoZIhvcNAQkBFiBmZWVkYmFjay1jcnlwdG"
- + "9AYm91bmN5Y2FzdGxlLm9yZzBaMA0GCSqGSIb3DQEBAQUAA0kAMEYCQQC0p+RhcFdPFqlwgrIr5YtqKmKXmEGb4Shy"
- + "pL26Ymz66ZAPdqv7EhOdzl3lZWT6srZUMWWgQMYGiHQg4z2R7X7XAgERo0QwQjAOBgNVHQ8BAf8EBAMCBSAwEgYDVR"
- + "0lAQH/BAgwBgYEVR0lADAcBgNVHREBAf8EEjAQgQ50ZXN0QHRlc3QudGVzdDANBgkqhkiG9w0BAQQFAANBAHU55Ncz"
- + "eglREcTg54YLUlGWu2WOYWhit/iM1eeq8Kivro7q98eW52jTuMI3CI5ulqd0hYzshQKQaZ5GDzErMyM=");
-
- static final byte[] dudRsaCertData = Base64
- .decode("MIICUzCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1RoZSBMZWdpb2"
- + "4gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJuZTERMA8GA1UECAwIVmljdG9yaWExLzAtBgkq"
- + "hkiG9w0BCQEWIGZlZWRiYWNrLWNyeXB0b0Bib3VuY3ljYXN0bGUub3JnMB4XDTEzMDIyNTA1NDcyOFoXDTEzMDIyNT"
- + "A1NDkwOFowgY8xCzAJBgNVBAYTAkFVMSgwJgYDVQQKDB9UaGUgTGVnaW9uIG9mIHRoZSBCb3VuY3kgQ2FzdGxlMRIw"
- + "EAYDVQQHDAlNZWxib3VybmUxETAPBgNVBAgMCFZpY3RvcmlhMS8wLQYJKoZIhvcNAQkBFiBmZWVkYmFjay1jcnlwdG"
- + "9AYm91bmN5Y2FzdGxlLm9yZzBaMA0GCSqGSIb3DQEBAQUAA0kAMEYCQQC0p+RhcFdPFqlwgrIr5YtqKmKXmEGb4Shy"
- + "pL26Ymz66ZAPdqv7EhOdzl3lZWT6srZUMWWgQMYGiHQg4z2R7X7XAgERo0QwQjAOBgNVHQ8BAf8EBAMCAAEwEgYDVR"
- + "0lAQH/BAgwBgYEVR0lADAcBgNVHREBAf8EEjAQgQ50ZXN0QHRlc3QudGVzdDANBgkqhkiG9w0BAQQFAANBAJg55PBS"
- + "weg6obRUKF4FF6fCrWFi6oCYSQ99LWcAeupc5BofW5MstFMhCOaEucuGVqunwT5G7/DweazzCIrSzB0=");
-
- static String fingerprint(org.spongycastle.asn1.x509.Certificate c)
- throws IOException
- {
- byte[] der = c.getEncoded();
- byte[] sha1 = sha256DigestOf(der);
- byte[] hexBytes = Hex.encode(sha1);
- String hex = new String(hexBytes, "ASCII").toUpperCase();
-
- StringBuffer fp = new StringBuffer();
- int i = 0;
- fp.append(hex.substring(i, i + 2));
- while ((i += 2) < hex.length())
- {
- fp.append(':');
- fp.append(hex.substring(i, i + 2));
- }
- return fp.toString();
- }
-
- static byte[] sha256DigestOf(byte[] input)
- {
- SHA256Digest d = new SHA256Digest();
- d.update(input, 0, input.length);
- byte[] result = new byte[d.getDigestSize()];
- d.doFinal(result, 0);
- return result;
- }
-
- static TlsAgreementCredentials loadAgreementCredentials(TlsContext context,
- String[] certResources, String keyResource)
- throws IOException
- {
- Certificate certificate = loadCertificateChain(certResources);
- AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource);
-
- return new DefaultTlsAgreementCredentials(certificate, privateKey);
- }
-
- static TlsEncryptionCredentials loadEncryptionCredentials(TlsContext context,
- String[] certResources, String keyResource)
- throws IOException
- {
- Certificate certificate = loadCertificateChain(certResources);
- AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource);
-
- return new DefaultTlsEncryptionCredentials(context, certificate, privateKey);
- }
-
- static TlsSignerCredentials loadSignerCredentials(TlsContext context, String[] certResources,
- String keyResource, SignatureAndHashAlgorithm signatureAndHashAlgorithm)
- throws IOException
- {
- Certificate certificate = loadCertificateChain(certResources);
- AsymmetricKeyParameter privateKey = loadPrivateKeyResource(keyResource);
-
- return new DefaultTlsSignerCredentials(context, certificate, privateKey, signatureAndHashAlgorithm);
- }
-
- static Certificate loadCertificateChain(String[] resources)
- throws IOException
- {
- org.spongycastle.asn1.x509.Certificate[] chain = new org.spongycastle.asn1.x509.Certificate[resources.length];
- for (int i = 0; i < resources.length; ++i)
- {
- chain[i] = loadCertificateResource(resources[i]);
- }
- return new Certificate(chain);
- }
-
- static org.spongycastle.asn1.x509.Certificate loadCertificateResource(String resource)
- throws IOException
- {
- PemObject pem = loadPemResource(resource);
- if (pem.getType().endsWith("CERTIFICATE"))
- {
- return org.spongycastle.asn1.x509.Certificate.getInstance(pem.getContent());
- }
- throw new IllegalArgumentException("'resource' doesn't specify a valid certificate");
- }
-
- static AsymmetricKeyParameter loadPrivateKeyResource(String resource)
- throws IOException
- {
- PemObject pem = loadPemResource(resource);
- if (pem.getType().endsWith("RSA PRIVATE KEY"))
- {
- RSAPrivateKey rsa = RSAPrivateKey.getInstance(pem.getContent());
- return new RSAPrivateCrtKeyParameters(rsa.getModulus(), rsa.getPublicExponent(),
- rsa.getPrivateExponent(), rsa.getPrime1(), rsa.getPrime2(), rsa.getExponent1(),
- rsa.getExponent2(), rsa.getCoefficient());
- }
- if (pem.getType().endsWith("PRIVATE KEY"))
- {
- return PrivateKeyFactory.createKey(pem.getContent());
- }
- throw new IllegalArgumentException("'resource' doesn't specify a valid private key");
- }
-
- static PemObject loadPemResource(String resource)
- throws IOException
- {
- InputStream s = TlsTestUtils.class.getResourceAsStream(resource);
- PemReader p = new PemReader(new InputStreamReader(s));
- PemObject o = p.readPemObject();
- p.close();
- return o;
- }
-}