/*
* Copyright (C) 2014 Intel Corporation
* All rights reserved.
*/
package com.intel.mtwilson.tls.policy.creator.impl;
import com.intel.dcsg.cpg.tls.policy.TlsPolicy;
import com.intel.dcsg.cpg.tls.policy.impl.CertificateDigestTlsPolicy;
import com.intel.dcsg.cpg.tls.policy.impl.CertificateTlsPolicy;
import com.intel.dcsg.cpg.tls.policy.impl.PublicKeyTlsPolicy;
import com.intel.mtwilson.tls.policy.TlsPolicyDescriptor;
import java.util.ArrayList;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author jbuhacoff
*/
public class PolicyCreatorTest {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(PolicyCreatorTest.class);
@Test
public void testCreateCertificateDigestTlsPolicy() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("certificate-digest");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("18 9a e6 e0 26 6f ae 63 8f 8c 9c b0 92 e1 ad 04 c3 a7 58 ab");
CertificateDigestTlsPolicyCreator creator = new CertificateDigestTlsPolicyCreator();
CertificateDigestTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreatePublicKeyTlsPolicyFrom1024BitRsaPublicKey() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("public-key");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCAzX1ej9DHtrhj85jGN5N/36DB9MLXmz4EOyRNO5yiInDbHhCKEhivRufZ0RB3p4wvZGjowIKSj9mkB0gGyvaCdeTuDZQGXH/wRjfE6BjRrYB/l57tym8hyCyVlaD2u7WM550zIXaEmBEg8hYPb02wXksX4K6o47DCtL9dm4FDtQIDAQAB");
PublicKeyTlsPolicyCreator creator = new PublicKeyTlsPolicyCreator();
PublicKeyTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreatePublicKeyTlsPolicyFrom1024BitRsaPublicKeyHex() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("public-key");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 80 cd 7d 5e 8f d0 c7 b6 b8 63 f3 98 c6 37 93 7f df a0 c1 f4 c2 d7 9b 3e 04 3b 24 4d 3b 9c a2 22 70 db 1e 10 8a 12 18 af 46 e7 d9 d1 10 77 a7 8c 2f 64 68 e8 c0 82 92 8f d9 a4 07 48 06 ca f6 82 75 e4 ee 0d 94 06 5c 7f f0 46 37 c4 e8 18 d1 ad 80 7f 97 9e ed ca 6f 21 c8 2c 95 95 a0 f6 bb b5 8c e7 9d 33 21 76 84 98 11 20 f2 16 0f 6f 4d b0 5e 4b 17 e0 ae a8 e3 b0 c2 b4 bf 5d 9b 81 43 b5 02 03 01 00 01");
PublicKeyTlsPolicyCreator creator = new PublicKeyTlsPolicyCreator();
PublicKeyTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreatePublicKeyTlsPolicyFrom2048BitRsaPublicKey() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("public-key");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsqddwM4nX1UsIRiRlaid6EGk2V6B6Odd5M46NUXnbWUxfJAC9vy7+l89aK2MyjRc30K3OW8agTb+Ukwh8IjJAMDcMFFgdl8QXFH9daJgfvAxmuHuIw574Ggh2eFLlBcSkelrF6/XuUSO1+fJ/MgaoBO9fZXlRL0HOa3O3lbSBOJ4Yp53YrR/ewYKxgKbFrv1tYbpW4auDecf+38HvJYdFI5Ve4MJ7a/YivNK4bUJt/Bc21uQnT4fFjVAp1v+3vTQ5A2HmCM3nB3DNjwhLnMYEO+r2qYZwloyqQ2KLx8Y/mhHh5j1DCpr0/mmnOmQ0Qe8RmYL0yYO7r9mnecDDQDoKwIDAQAB");
PublicKeyTlsPolicyCreator creator = new PublicKeyTlsPolicyCreator();
PublicKeyTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreatePublicKeyTlsPolicyFrom4096BitRsaPublicKey() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("public-key");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1s2R8M4WoAhTeti/+TCSJ50Xc1c2wWcykhQDEi6qO4VFU4iCmTKqmgNuiSYAYG+mGmL6XFPzeId+2qSaRoJ1/T6iQ74iw6s64SFzNJjhHFvXGD4k9usy/51/0wezZfCWkxWm7LcLtwoMxHjHdb1O1W1Y8C5f+hLMqDlZkWrrTsxvh1zQKRLakiiRWN53Zo4bKrTlaZAtz3qAXUyfCIm9kAPaAG1nJ5GkdAM+ezRM9ejnhNCNa4nSyyydaaNWRo3APbV0J5k+GQeqgtVQvbGZ1GGWgYJqVGsOk9320VWBntRMPDtPpx9dZsUBtMT1quj8mzDr1djn8aPnTF4/z1c61YwVIjczJUa45X+KI+Qz4sB0V/gF7G4DoRCv0uwV7lE2hGnn9ezILT8HZHX0OJ2wRBJ9c+IKP5TEytfJpDm3b3f+s7v8aS3u7MC4PZ989ieUDybyx9pHsOWSXmQ3Aj/JpCSD9EjHJ6ATibdG3an8N7a2q3oydrGEbIjzPRBXzdxmJQ17UBgDJYCE1nUVv56S7LocV15D4UmTkz3i+H2WcBDbEYny/I8SJHHU2jQ1F/zTfGuNjGqQKYw0PZmoZ6PCN6RXKU+pHi/Pg8yMRK95KWN7l8JCAYD1qB/bbNb3XMEE2FdxJRHmslgggaAIlvdvZwZYyfhbE/UA+e5O+jMZYEcCAwEAAQ==");
PublicKeyTlsPolicyCreator creator = new PublicKeyTlsPolicyCreator();
PublicKeyTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreatePublicKeyTlsPolicyFromCertificate() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("public-key");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add("MIICJTCCAY6gAwIBAgIIebi9bYW6Z4gwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE1RydXN0ZWQgRGF0YSBDZW50ZXIxEjAQBgNVBAsTCU10IFdpbHNvbjEUMBIGA1UEAwwLQ049c2FtcGxlXzAwHhcNMTQwNzExMTQxNDU5WhcNMTQwNzEyMTQxNDU5WjBVMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTVHJ1c3RlZCBEYXRhIENlbnRlcjESMBAGA1UECxMJTXQgV2lsc29uMRQwEgYDVQQDDAtDTj1zYW1wbGVfMDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0SLMa7UTLqJVYsPr6wuMn2HaRvpc0N18tqIS23FUnGLCI0wZpV74hUlSjbv5+D/OQOKhHjQzFlUK6dHaa8XFxa8WC633DY+iZNajRsl3XN1W51uQzI1wrxtOQAX7h34XmqM2diGsl4uk/ysiqwS19A2uWRRQ3WeDPzrdnDthpyUCAwEAATANBgkqhkiG9w0BAQsFAAOBgQBLsXUyoCmDXRafdabCE0r2djgCpIT7jxMYkDz67qwUMztwZRbaNF/um05kHDBhZCvoUH/NjWZ/hXnAB7mg+djJOQ2DEa0oi8eRewJE1CLXusp5tJvzkFrgYTQ0eoYnS97QJbNn//LaACKj+7aIdSx1hxKQhWXpir8vvHoLLhdCDQ==");
PublicKeyTlsPolicyCreator creator = new PublicKeyTlsPolicyCreator();
PublicKeyTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
@Test
public void testCreateCertificatePolicyFromCertificate() {
TlsPolicyDescriptor tlsPolicyDescriptor = new TlsPolicyDescriptor();
tlsPolicyDescriptor.setPolicyType("certificate");
tlsPolicyDescriptor.setData(new ArrayList<String>());
tlsPolicyDescriptor.getData().add(
"MIIBoTCCAQoCCQCUbSaqp+HiojANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwox\n" +
"MC4xLjcxLjkxMB4XDTE0MDQxNDIyMjYwMFoXDTI0MDQxMTIyMjYwMFowFTETMBEG\n" +
"A1UEAxMKMTAuMS43MS45MTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAw0WR\n" +
"uXZRsdcmtNb6IFHenIuq/WPEM+R7zCpVlaC4iujCGSBRjeGKyvy8ZS09c4NXv7/T\n" +
"CYYitdn8O6560gY9VTlTm6sMeGYuFb0i8BkBXIiVgBhJqoTVpJXc3+DhU/tXHPNg\n" +
"yYvd+ykkRZsDtNEeunJ7yY3A+pti8jeNOHSSXHkCAwEAATANBgkqhkiG9w0BAQUF\n" +
"AAOBgQCGFGDSPUCI6UXnjQ43vg3U9Ges4O737VLlf8FIh0tGP0GTBHK10HWOJG3Q\n" +
"DaK4tHuDbQQ5fzUKiwOUscryZgZ2elNDTBwoWcREypFMAY1n8laC6ao4rEGXpyik\n" +
"5OrFa3NLtY8duK2HgD5DsD96ysYToqaK+Ks14htCqgY2m9XJKA==");
CertificateTlsPolicyCreator creator = new CertificateTlsPolicyCreator();
CertificateTlsPolicy tlsPolicy = creator.createTlsPolicy(tlsPolicyDescriptor);
assertNotNull(tlsPolicy);
}
}