Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit e66c3a58 authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

add tests from Certificate converter

parent e1bf86fa
No related branches found
No related tags found
No related merge requests found
......@@ -4,11 +4,19 @@ import eu.europa.ec.edelivery.smp.data.ui.CertificateRO;
import eu.europa.ec.smp.api.Identifiers;
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
import javax.security.auth.x500.X500Principal;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.security.Security;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Base64;
......@@ -18,27 +26,39 @@ import static org.junit.Assert.*;
@RunWith(JUnitParamsRunner.class)
public class X509CertificateToCertificateROConverterTest {
@Before
public void setup(){
Security.insertProviderAt(new org.bouncycastle.jce.provider.BouncyCastleProvider(), 1);
}
private static final Object[] testCases() {
return new Object[][]{
// alias, subject, issuer, serial number, blueCoatHeader, certificateId
{"alias", "subject", "issuer","serialNumber","blueCoat","certificateId"},
// filename, subject, issuer, serial number, blueCoatHeader, certificateId
{"cert-escaped-chars.pem", "C=BE,O=DIGIT,OU=CEF,CN=Escape characters \\,\\\\#\\+\\<\\>\\\"\\=", "C=BE,O=DIGIT,OU=CEF,CN=Escape characters \\,\\\\#\\+\\<\\>\\\"\\=","5c1bb275","sno=5c1bb275&subject=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DEscape+characters+%5C%2C%5C%5C%23%5C%2B%5C%3C%5C%3E%5C%22%5C%3D&validfrom=Dec+20+16%3A17%3A09+2018+GMT&validto=Dec+17+16%3A17%3A09+2028+GMT&issuer=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DEscape+characters+%5C%2C%5C%5C%23%5C%2B%5C%3C%5C%3E%5C%22%5C%3D","CN=Escape characters \\,\\\\\\#\\+\\<\\>\\\"\\=,O=DIGIT,C=BE:000000005c1bb275"},
{"cert-nonAscii.pem", "C=BE,O=DIGIT,OU=CEF,CN=NonAscii chars: àøýßĉæãäħ", "C=BE,O=DIGIT,OU=CEF,CN=NonAscii chars: àøýßĉæãäħ","5c1bb38d","sno=5c1bb38d&subject=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DNonAscii+chars%3A++%C3%A0%C3%B8%C3%BD%C3%9F%C4%89%C3%A6%C3%A3%C3%A4%C4%A7&validfrom=Dec+20+16%3A21%3A49+2018+GMT&validto=Dec+17+16%3A21%3A49+2028+GMT&issuer=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DNonAscii+chars%3A++%C3%A0%C3%B8%C3%BD%C3%9F%C4%89%C3%A6%C3%A3%C3%A4%C4%A7","CN=NonAscii chars: àøýßĉæãäħ,O=DIGIT,C=BE:000000005c1bb38d"},
{"cert-with-email.pem", "C=BE,O=DIGIT,OU=CEF,CN=Cert with email", "C=BE,O=DIGIT,OU=CEF,CN=Cert with email","5c1bb358","sno=5c1bb358&subject=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DCert+with+email&validfrom=Dec+20+16%3A20%3A56+2018+GMT&validto=Dec+17+16%3A20%3A56+2028+GMT&issuer=C%3DBE%2CO%3DDIGIT%2COU%3DCEF%2CCN%3DCert+with+email","CN=Cert with email,O=DIGIT,C=BE:000000005c1bb358"},
};
}
X509CertificateToCertificateROConverter testInstance = new X509CertificateToCertificateROConverter();
@Test
@Parameters(method = "testCases")
public void testconvert(String alias,
public void testconvert(String filename,
String subject,
String issuer,
String serialNumber,
String blueCoat,
String certificateId) throws CertificateEncodingException {
/*
String certificateId) throws CertificateException {
// given
X509Certificate certificate = getCertificate(alias);
X509Certificate certificate = getCertificate(filename);
// when
CertificateRO certRo = testInstance.convert(certificate);
......@@ -49,22 +69,17 @@ public class X509CertificateToCertificateROConverterTest {
assertEquals(serialNumber, certRo.getSerialNumber());
assertEquals(blueCoat, certRo.getBlueCoatHeader());
assertEquals(certificateId, certRo.getCertificateId());
assertEquals(Base64.getEncoder().encode(certificate.getEncoded()), certRo.getEncodedValue());
assertNotNull(certRo.getEncodedValue());
assertEquals(certificate.getNotBefore(), certRo.getValidFrom());
assertEquals(certificate.getNotAfter(), certRo.getValidTo());
*/
}
@Test
public void convert() {
}
@Test
public void getCertificateIdFromCertificate() {
}
X509Certificate getCertificate(String alias){
X509Certificate cert = null;
return cert;
X509Certificate getCertificate(String filename) throws CertificateException {
CertificateFactory fact = CertificateFactory.getInstance("X.509");
InputStream is = X509CertificateToCertificateROConverterTest.class.getResourceAsStream("/certificates/" + filename);
return (X509Certificate) fact.generateCertificate(is);
}
}
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIDHDCCAgSgAwIBAgIEXBuydTANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEwJC
RTEOMAwGA1UECgwFRElHSVQxDDAKBgNVBAsMA0NFRjEjMCEGA1UEAwwaRXNjYXBl
IGNoYXJhY3RlcnMgLFwjKzw+Ij0wHhcNMTgxMjIwMTUxNzA5WhcNMjgxMjE3MTUx
NzA5WjBQMQswCQYDVQQGEwJCRTEOMAwGA1UECgwFRElHSVQxDDAKBgNVBAsMA0NF
RjEjMCEGA1UEAwwaRXNjYXBlIGNoYXJhY3RlcnMgLFwjKzw+Ij0wggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCB0F+y2Ych3RpQardwsC/X4sASQWMA8lPm
4a+sfeJs85BePdbhrqu3ePTOHaomG9n5ElCnQnn/rNjlCtfrxJbwKJJqotHOMbks
OHmed42SuC9Eo596192ve8Vc9PQo4xmAYYlIoESumZydTCnn7W5UVpyuL9i6yMhj
iO/LEYoPhyDplXUQPQFetOyjBKyLh1I3+Bcdj0RP+np7GyrAn1RqegXl6vK1YBYJ
O2SeO7Jq1GymPRMqs1OJQ3Ljkmj6oRKHcxjQ7nsJWHSsSmXOqzVnMl2JbwWTunAS
IRM7fkvMWoYvPxXXLaxvS+7/WFdf/VQD7/+u4aItGtj5WADEwr+LAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBAClEMFrkvny+VfayEiaA7a0HCq96TvyG0YpavePEeXeL
9E3x8tnYoIetLktVly54vtMe3YHhkQt/WupploE84G8BKrZguddB+bKYUD8gHq4f
GeD9AiGn9CIF8NGZ6LJKkec76n/vt+buhYpjZAMF+el4FZPdN+7B8hoozLXjb3mq
Ys5RWL41/xVGpPNVWAnSIKHIzELeC4IuoXk1oFl5NqJnM6X7JH0ppJH1W7+ROEjx
Fo2v9jLFPHmvpLn37FaZ85e18R/JvKNbVDgx3JnUwYTI8fml1yfNhRs/vWesfgB/
tWiBIOTXr9CvSGe5E05juHsjlqGqPeDi+tPxB9hPQPE=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDLjCCAhagAwIBAgIEXBuzjTANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJC
RTEOMAwGA1UECgwFRElHSVQxDDAKBgNVBAsMA0NFRjEsMCoGA1UEAwwjTm9uQXNj
aWkgY2hhcnM6ICDDoMO4w73Dn8SJw6bDo8OkxKcwHhcNMTgxMjIwMTUyMTQ5WhcN
MjgxMjE3MTUyMTQ5WjBZMQswCQYDVQQGEwJCRTEOMAwGA1UECgwFRElHSVQxDDAK
BgNVBAsMA0NFRjEsMCoGA1UEAwwjTm9uQXNjaWkgY2hhcnM6ICDDoMO4w73Dn8SJ
w6bDo8OkxKcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZdkXSg1yd
CPIvjVQk7UzFCtN/lTBz/5mFCHkeF+rQbmBZ+m5lDKRBcP40amjpfW+Ln6c/p6Gj
BJqgRJm7RBRTViNLgdvYUI4LWV24wVhxfhdDvYJmNivjBorioGqXkl5xZhS4g03V
swGSnireULnktXvAT9+Mf1xDb3MfJZFpU8GLZAJjUCKOsCbpzmAWJmgeumQg45Sv
5lOvkDph+Jk1UFt1B3zEtq+ktnbMJbdZ8XJwobk/JfmXsyF7dwo5Eu9BoyAxxysK
oScH3w/CxYb7WwsZoOml8rdGFqcoyDom3L+lx9trlPuzrE0HpET7xAuYxhCfOydQ
AX6lDVAyLTsfAgMBAAEwDQYJKoZIhvcNAQELBQADggEBADsoFoq96Yk+AC7FD38W
0JM/4VAV6qPrqFg/GOWKytap+tIZYggoknOwP5mPpHML4bTeFILvNnI7WCldCQyz
m/cwoC/v5NBSn9zetBpMRFFC5KHyezI5bZbLzSX8/+aw80hJELonCY8jL9Pbi5Jx
/DcbBRIKc+oh0F6/t5ORYI+224F3qRTdst+4jplMLq3zom2JWIRv0Z+mUvQU0KxE
NehrI6Ie57Ty1cILiX41zBs6MwOoaEpCb8bod0HdRjGFk36CohavT7Pf7xla3Gt5
iCjr1fjB0UkYYAPSEOzYpqWr3LvD4zRUdAoYzsZ4dRt3SDxsaYxNwSKdoYpNMyPS
eEc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDKzCCAhOgAwIBAgIEXBuzWDANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJC
RTEOMAwGA1UECgwFRElHSVQxDDAKBgNVBAsMA0NFRjEYMBYGA1UEAwwPQ2VydCB3
aXRoIGVtYWlsMB4XDTE4MTIyMDE1MjA1NloXDTI4MTIxNzE1MjA1NlowRTELMAkG
A1UEBhMCQkUxDjAMBgNVBAoMBURJR0lUMQwwCgYDVQQLDANDRUYxGDAWBgNVBAMM
D0NlcnQgd2l0aCBlbWFpbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AJFP/Ab2B+6XPf4jUsFoqd+Q1hm3E0/p5/nCzYOB2K3CIAilsEo8e8kvwjezgAyD
khVnlGZk3z10X0m278sYNUBlJ1UmoogyV5GI1MsnJQRKXeo/mcV5/vzdaemV0UUO
KJTNAnpIwbFz0D/s/S7dbH+KEKGHmz5MlsovS8+kWCfoZxCEyt1seQyeU2g09bXC
stGLsVlm33AXfgWZ9T4JLh666wtEsra5+nWh+wOQKlGVPbBwtZ4MQtlYkx/IY5Pr
j1FpTef0ho1/YDxLkxcXbBew7ccffxG7JZeL2jyn6jxvn7HBs9Rhiptw30iTC4tm
qbFkw+m6y9u9mbNW/yQsUesCAwEAAaMjMCEwHwYDVR0RBBgwFoIUbXkuZW1haWxA
YWRkcmVzcy5jb20wDQYJKoZIhvcNAQELBQADggEBAArNTK8XWZjmTm4tZKgnf75a
TEimLBqXBbJ6skYp3F1P4BebdnjVtaWdw6yeiQlW6KCVDf6O4zWnFyUU6qhVygCN
TtCVech72GFDR4J/1VSyPlylatNb3ZVIeBdeioRuEx201CZHE8AW9frjXbDouHrY
YB/xMT53vzy7ssoqlCfPBEIo5/AokvwCsSfRe1MLfkYLjwnkuCV1bq3BBkVH2x5V
RgvGaCxveE04tpAc3YB7wFi2ucdzf6lRY/xTzV+on0bIgZ+w2x0d2P1jEyar3gRh
Ck2dyExfs+E4nLMBs4OJspwHfl6Uf7HyZTrXQW9Gx551E2LawBowwlfzQBoDan0=
-----END CERTIFICATE-----
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment