Skip to content

Commit d291dc4

Browse files
committed
Add tests and test resources
1 parent 9598a93 commit d291dc4

File tree

8 files changed

+262
-0
lines changed

8 files changed

+262
-0
lines changed

securityapicommons/src/test/java/com/genexus/test/commons/SecurityAPITestObject.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77

88
public class SecurityAPITestObject extends TestCase {
99

10+
public String resources;
11+
12+
13+
public SecurityAPITestObject() {
14+
resources = System.getProperty("user.dir").concat("/src/test/resources");
15+
}
16+
1017
public void True(boolean result, SecurityAPIObject object)
1118
{
1219
assertTrue(result);
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.genexus.test.keys;
2+
3+
import com.genexus.securityapicommons.keys.CertificateX509;
4+
import com.genexus.securityapicommons.utils.SecurityUtils;
5+
import com.genexus.test.commons.SecurityAPITestObject;
6+
7+
import junit.framework.Test;
8+
import junit.framework.TestSuite;
9+
10+
public class Base64CertificateTest extends SecurityAPITestObject {
11+
12+
protected static String path;
13+
protected static String base64string;
14+
protected static String base64Wrong;
15+
16+
public static Test suite() {
17+
return new TestSuite(Base64CertificateTest.class);
18+
}
19+
20+
@Override
21+
public void runTest() {
22+
testImport();
23+
testExport();
24+
testWrongBase64();
25+
}
26+
27+
@Override
28+
public void setUp() {
29+
path = resources.concat("/sha256_cert.pem");
30+
//path = "C:\\Temp\\dummycerts\\RSA_sha256_1024\\sha256_cert.pem";
31+
base64Wrong = "--BEGINKEY--sdssf--ENDKEY—";
32+
base64string = "MIIC/DCCAmWgAwIBAgIJAPmCVmfcc0IXMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJVWTETMBEGA1UECAwKTW9udGV2aWRlbzETMBEGA1UEBwwKTW9udGV2aWRlbzEQMA4GA1UECgwHR2VuZVh1czERMA8GA1UECwwIU2VjdXJpdHkxEjAQBgNVBAMMCXNncmFtcG9uZTEkMCIGCSqGSIb3DQEJARYVc2dyYW1wb25lQGdlbmV4dXMuY29tMB4XDTIwMDcwODE4NDkxNVoXDTI1MDcwNzE4NDkxNVowgZYxCzAJBgNVBAYTAlVZMRMwEQYDVQQIDApNb250ZXZpZGVvMRMwEQYDVQQHDApNb250ZXZpZGVvMRAwDgYDVQQKDAdHZW5lWHVzMREwDwYDVQQLDAhTZWN1cml0eTESMBAGA1UEAwwJc2dyYW1wb25lMSQwIgYJKoZIhvcNAQkBFhVzZ3JhbXBvbmVAZ2VuZXh1cy5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMZ8m4ftIhfrdugi5kEszRZr5IRuqGDLTex+CfVnhnBYXyQgJXeCI0eyRYUAbNzw/9MPdFN//pV26AXeH/ajORVu1JVoOACZdNOIPFnwXXh8oBxNxLAYlqoK2rAL+/tns8rKqqS4p8HSat9tj07TUXnsYJmmbXJM/eB94Ex66D1ZAgMBAAGjUDBOMB0GA1UdDgQWBBTfXY8eOfDONCZpFE0V34mJJeCYtTAfBgNVHSMEGDAWgBTfXY8eOfDONCZpFE0V34mJJeCYtTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4GBAAPv7AFlCSpJ32c/VYowlbk6UBhOKmVWBQlrAtvVQYtCKO/y9CEB8ikG19c8lHM9axnsbZR+G7g04Rfuiea3T7VPkSmUXPpz5fl6Zyk4LZg5Oji7MMMXGmr+7cpYWRhifCVwoxSgZEXt3d962IZ1Wei0LMO+4w4gnzPxqr8wVHnT";
33+
}
34+
35+
public void testImport() {
36+
CertificateX509 cert = new CertificateX509();
37+
boolean loaded = cert.fromBase64(base64string);
38+
True(loaded, cert);
39+
}
40+
41+
public void testExport() {
42+
CertificateX509 cert = new CertificateX509();
43+
cert.load(path);
44+
String base64res = cert.toBase64();
45+
assertTrue(SecurityUtils.compareStrings(base64res, base64string));
46+
assertFalse(cert.hasError());
47+
}
48+
49+
public void testWrongBase64()
50+
{
51+
CertificateX509 cert = new CertificateX509();
52+
cert.fromBase64(base64Wrong);
53+
assertTrue(cert.hasError());
54+
}
55+
56+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.genexus.test.keys;
2+
3+
import com.genexus.securityapicommons.keys.PrivateKeyManager;
4+
import com.genexus.securityapicommons.utils.SecurityUtils;
5+
import com.genexus.test.commons.SecurityAPITestObject;
6+
7+
import junit.framework.Test;
8+
import junit.framework.TestSuite;
9+
10+
public class Base64PrivateKeyTest extends SecurityAPITestObject {
11+
12+
protected static String path;
13+
protected static String base64string;
14+
protected static String base64Wrong;
15+
16+
public static Test suite() {
17+
return new TestSuite(Base64PrivateKeyTest.class);
18+
}
19+
20+
@Override
21+
public void runTest() {
22+
testImport();
23+
testExport();
24+
testWrongBase64();
25+
}
26+
27+
@Override
28+
public void setUp() {
29+
path = resources.concat("/sha256d_key.pem");
30+
base64string = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMZ8m4ftIhfrdugi5kEszRZr5IRuqGDLTex+CfVnhnBYXyQgJXeCI0eyRYUAbNzw/9MPdFN//pV26AXeH/ajORVu1JVoOACZdNOIPFnwXXh8oBxNxLAYlqoK2rAL+/tns8rKqqS4p8HSat9tj07TUXnsYJmmbXJM/eB94Ex66D1ZAgMBAAECgYA1xrTs0taV3HnO0wXHSrgWBw1WxBRihTKLjGpuTqoh7g943izIgD3GwwoKyt6zzafCK0G9DcSQAjNCw7etPvPL3FxwhDl+AHSv9JcChk/auICtMWwjurG4npto+s3byj/N00Idpz1xuOgKd8k9sdoPBGKa8l+LL+adSXzoivLG8QJBAPDvbOLSs9petB2iM6w5/DiC8EoxqDaBc7I1JFCvPOfB7i1GFFxkQ7hlgxpvaPX3NHXjAZpgdOW68P/SjU0izKsCQQDS5bjrNo3xn/MbYKojzwprR/Bo8Kvbi4/2M9NE3GwHegVmx5I+df+J0aObrbBNPLs/rhrFtt12OtgxJaac+FYLAkEA8DUUbvO4wj7m/iBnug65irHo1V+6oFThv0tCIHsFkt4DEvoqdI62AZKbafCnSYqjr+CaCYqfIScG/Vay77OBLwJBAI8EYAmKPmn7+SW4wMh1z+/+ogbYJwNEOoVQkdXh0JSlZ+JSNleLN5ajhtq8x5EpPSYrEFbB8p8JurBhgwJx2g8CQQDrp9scoK8eKBJ2p/63xqLGYSN6OZQo/4Lkq3983rmHoDCAp3Bz1zUyxQB3UVyrOj4U44C7RtDNiMSZuCwvjYAI";
31+
base64Wrong = "--BEGINKEY--sdssf--ENDKEY—";
32+
33+
}
34+
35+
public void testImport() {
36+
PrivateKeyManager pkm = new PrivateKeyManager();
37+
boolean loaded = pkm.fromBase64(base64string);
38+
True(loaded, pkm);
39+
}
40+
41+
public void testExport() {
42+
PrivateKeyManager pkm = new PrivateKeyManager();
43+
pkm.load(path);
44+
String base64res = pkm.toBase64();
45+
assertTrue(SecurityUtils.compareStrings(base64res, base64string));
46+
assertFalse(pkm.hasError());
47+
}
48+
49+
public void testWrongBase64()
50+
{
51+
PrivateKeyManager pkm = new PrivateKeyManager();
52+
pkm.fromBase64(base64Wrong);
53+
assertTrue(pkm.hasError());
54+
}
55+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.genexus.test.keys;
2+
3+
import com.genexus.securityapicommons.commons.PublicKey;
4+
import com.genexus.securityapicommons.utils.SecurityUtils;
5+
import com.genexus.test.commons.SecurityAPITestObject;
6+
7+
import junit.framework.Test;
8+
import junit.framework.TestSuite;
9+
10+
public class Base64PublicKeyTest extends SecurityAPITestObject {
11+
12+
protected static String path;
13+
protected static String base64string;
14+
protected static String base64Wrong;
15+
16+
public static Test suite() {
17+
return new TestSuite(Base64PublicKeyTest.class);
18+
}
19+
20+
@Override
21+
public void runTest() {
22+
testImport();
23+
testExport();
24+
testWrongBase64();
25+
}
26+
27+
@Override
28+
public void setUp() {
29+
path = resources.concat("/sha256_pubkey.pem");
30+
base64Wrong = "--BEGINKEY--sdssf--ENDKEY—";
31+
base64string = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGfJuH7SIX63boIuZBLM0Wa+SEbqhgy03sfgn1Z4ZwWF8kICV3giNHskWFAGzc8P/TD3RTf/6VdugF3h/2ozkVbtSVaDgAmXTTiDxZ8F14fKAcTcSwGJaqCtqwC/v7Z7PKyqqkuKfB0mrfbY9O01F57GCZpm1yTP3gfeBMeug9WQIDAQAB";
32+
}
33+
34+
public void testImport() {
35+
PublicKey cert = new PublicKey();
36+
boolean loaded = cert.fromBase64(base64string);
37+
True(loaded, cert);
38+
}
39+
40+
public void testExport() {
41+
PublicKey cert = new PublicKey();
42+
cert.load(path);
43+
String base64res = cert.toBase64();
44+
assertTrue(SecurityUtils.compareStrings(base64res, base64string));
45+
assertFalse(cert.hasError());
46+
}
47+
48+
public void testWrongBase64() {
49+
PublicKey cert = new PublicKey();
50+
cert.fromBase64(base64Wrong);
51+
assertTrue(cert.hasError());
52+
}
53+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.genexus.test.utils;
2+
3+
import com.genexus.securityapicommons.utils.ExtensionsWhiteList;
4+
import com.genexus.test.commons.SecurityAPITestObject;
5+
6+
import junit.framework.Test;
7+
import junit.framework.TestSuite;
8+
9+
public class WhiteListTest extends SecurityAPITestObject {
10+
11+
private String pathWithPoints;
12+
private String pathWithPointsFail;
13+
private String pathWithoutPoints;
14+
private String pathWithoutPointsFail;
15+
private ExtensionsWhiteList list;
16+
17+
public static Test suite() {
18+
return new TestSuite(WhiteListTest.class);
19+
}
20+
21+
@Override
22+
public void runTest() {
23+
testWithPoints();
24+
testWithoutPoints();
25+
}
26+
27+
@Override
28+
public void setUp() {
29+
pathWithPoints = "C:\\Temp\\file.txt";
30+
pathWithoutPoints = "C:\\Temp\\ftpstest.txt";
31+
pathWithPointsFail = "C:\\Temp\\ftpstest.pdf";
32+
pathWithoutPointsFail = "C:\\Temp\\ftpstest.pdf";
33+
list = new ExtensionsWhiteList();
34+
list.setExtension(".txt");
35+
}
36+
37+
public void testWithPoints() {
38+
boolean res1 = list.isValid(pathWithPoints);
39+
assertTrue(res1);
40+
boolean res2 = list.isValid(pathWithPointsFail);
41+
assertFalse(res2);
42+
43+
}
44+
45+
public void testWithoutPoints() {
46+
boolean res1 = list.isValid(pathWithoutPoints);
47+
assertTrue(res1);
48+
boolean res2 = list.isValid(pathWithoutPointsFail);
49+
assertFalse(res2);
50+
}
51+
52+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIC/DCCAmWgAwIBAgIJAPmCVmfcc0IXMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYD
3+
VQQGEwJVWTETMBEGA1UECAwKTW9udGV2aWRlbzETMBEGA1UEBwwKTW9udGV2aWRl
4+
bzEQMA4GA1UECgwHR2VuZVh1czERMA8GA1UECwwIU2VjdXJpdHkxEjAQBgNVBAMM
5+
CXNncmFtcG9uZTEkMCIGCSqGSIb3DQEJARYVc2dyYW1wb25lQGdlbmV4dXMuY29t
6+
MB4XDTIwMDcwODE4NDkxNVoXDTI1MDcwNzE4NDkxNVowgZYxCzAJBgNVBAYTAlVZ
7+
MRMwEQYDVQQIDApNb250ZXZpZGVvMRMwEQYDVQQHDApNb250ZXZpZGVvMRAwDgYD
8+
VQQKDAdHZW5lWHVzMREwDwYDVQQLDAhTZWN1cml0eTESMBAGA1UEAwwJc2dyYW1w
9+
b25lMSQwIgYJKoZIhvcNAQkBFhVzZ3JhbXBvbmVAZ2VuZXh1cy5jb20wgZ8wDQYJ
10+
KoZIhvcNAQEBBQADgY0AMIGJAoGBAMZ8m4ftIhfrdugi5kEszRZr5IRuqGDLTex+
11+
CfVnhnBYXyQgJXeCI0eyRYUAbNzw/9MPdFN//pV26AXeH/ajORVu1JVoOACZdNOI
12+
PFnwXXh8oBxNxLAYlqoK2rAL+/tns8rKqqS4p8HSat9tj07TUXnsYJmmbXJM/eB9
13+
4Ex66D1ZAgMBAAGjUDBOMB0GA1UdDgQWBBTfXY8eOfDONCZpFE0V34mJJeCYtTAf
14+
BgNVHSMEGDAWgBTfXY8eOfDONCZpFE0V34mJJeCYtTAMBgNVHRMEBTADAQH/MA0G
15+
CSqGSIb3DQEBCwUAA4GBAAPv7AFlCSpJ32c/VYowlbk6UBhOKmVWBQlrAtvVQYtC
16+
KO/y9CEB8ikG19c8lHM9axnsbZR+G7g04Rfuiea3T7VPkSmUXPpz5fl6Zyk4LZg5
17+
Oji7MMMXGmr+7cpYWRhifCVwoxSgZEXt3d962IZ1Wei0LMO+4w4gnzPxqr8wVHnT
18+
-----END CERTIFICATE-----
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGfJuH7SIX63boIuZBLM0Wa+SE
3+
bqhgy03sfgn1Z4ZwWF8kICV3giNHskWFAGzc8P/TD3RTf/6VdugF3h/2ozkVbtSV
4+
aDgAmXTTiDxZ8F14fKAcTcSwGJaqCtqwC/v7Z7PKyqqkuKfB0mrfbY9O01F57GCZ
5+
pm1yTP3gfeBMeug9WQIDAQAB
6+
-----END PUBLIC KEY-----
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIICXgIBAAKBgQDGfJuH7SIX63boIuZBLM0Wa+SEbqhgy03sfgn1Z4ZwWF8kICV3
3+
giNHskWFAGzc8P/TD3RTf/6VdugF3h/2ozkVbtSVaDgAmXTTiDxZ8F14fKAcTcSw
4+
GJaqCtqwC/v7Z7PKyqqkuKfB0mrfbY9O01F57GCZpm1yTP3gfeBMeug9WQIDAQAB
5+
AoGANca07NLWldx5ztMFx0q4FgcNVsQUYoUyi4xqbk6qIe4PeN4syIA9xsMKCsre
6+
s82nwitBvQ3EkAIzQsO3rT7zy9xccIQ5fgB0r/SXAoZP2riArTFsI7qxuJ6baPrN
7+
28o/zdNCHac9cbjoCnfJPbHaDwRimvJfiy/mnUl86IryxvECQQDw72zi0rPaXrQd
8+
ojOsOfw4gvBKMag2gXOyNSRQrzznwe4tRhRcZEO4ZYMab2j19zR14wGaYHTluvD/
9+
0o1NIsyrAkEA0uW46zaN8Z/zG2CqI88Ka0fwaPCr24uP9jPTRNxsB3oFZseSPnX/
10+
idGjm62wTTy7P64axbbddjrYMSWmnPhWCwJBAPA1FG7zuMI+5v4gZ7oOuYqx6NVf
11+
uqBU4b9LQiB7BZLeAxL6KnSOtgGSm2nwp0mKo6/gmgmKnyEnBv1Wsu+zgS8CQQCP
12+
BGAJij5p+/kluMDIdc/v/qIG2CcDRDqFUJHV4dCUpWfiUjZXizeWo4bavMeRKT0m
13+
KxBWwfKfCbqwYYMCcdoPAkEA66fbHKCvHigSdqf+t8aixmEjejmUKP+C5Kt/fN65
14+
h6AwgKdwc9c1MsUAd1Fcqzo+FOOAu0bQzYjEmbgsL42ACA==
15+
-----END RSA PRIVATE KEY-----

0 commit comments

Comments
 (0)