summaryrefslogtreecommitdiff
path: root/app/src/test
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2024-12-07 03:09:01 +0100
committercyberta <cyberta@riseup.net>2024-12-11 00:09:34 +0000
commit3bcba785be239093ee469fd99efb197ca1d1f246 (patch)
treeb05ffe4eb72afceca8d6651a3ff91399332a1ed1 /app/src/test
parentbf75f3824596f53f0c6e9a2cfb3629da905b59d1 (diff)
Fix support for ed25519 private VPN keys, add signing capabilities for ed25519 in VpnProfile, so that such a key can be passed with OpenVPNs management-external-key option on runtime
Diffstat (limited to 'app/src/test')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java13
-rw-r--r--app/src/test/resources/private_PKCS8_encoded_ecdsa_key.pem8
-rw-r--r--app/src/test/resources/private_PKCS8_encoded_ed25519_key.pem (renamed from app/src/test/resources/private_ed25519_key.pem)0
3 files changed, 19 insertions, 2 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java b/app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java
index 5ad9d2e7..5b1d4554 100644
--- a/app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java
+++ b/app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java
@@ -12,13 +12,14 @@ import org.robolectric.annotation.Config;
import java.io.IOException;
import java.security.PrivateKey;
+import java.security.interfaces.ECPrivateKey;
import java.security.interfaces.EdECPrivateKey;
import java.security.interfaces.RSAPrivateKey;
import se.leap.bitmaskclient.testutils.TestSetupHelper;
@RunWith(RobolectricTestRunner.class)
-@Config(sdk = {Build.VERSION_CODES.P, Build.VERSION_CODES.O})
+@Config(sdk = {Build.VERSION_CODES.UPSIDE_DOWN_CAKE, Build.VERSION_CODES.P, Build.VERSION_CODES.O, Build.VERSION_CODES.N})
public class PrivateKeyHelperTest {
@Test
@@ -31,9 +32,17 @@ public class PrivateKeyHelperTest {
@Test
public void parsePrivateKeyFromString_testEd25519() throws IOException {
- String ed25519_key = TestSetupHelper.getInputAsString(getClass().getClassLoader().getResourceAsStream("private_ed25519_key.pem"));
+ String ed25519_key = TestSetupHelper.getInputAsString(getClass().getClassLoader().getResourceAsStream("private_PKCS8_encoded_ed25519_key.pem"));
PrivateKey pk = PrivateKeyHelper.parsePrivateKeyFromString(ed25519_key);
assertNotNull(pk);
assertTrue(pk instanceof EdECPrivateKey);
}
+
+ @Test
+ public void parsePrivateKeyFromString_testEcDSA() throws IOException {
+ String ed_dsa_key = TestSetupHelper.getInputAsString(getClass().getClassLoader().getResourceAsStream("private_PKCS8_encoded_ecdsa_key.pem"));
+ PrivateKey pk = PrivateKeyHelper.parsePrivateKeyFromString(ed_dsa_key);
+ assertNotNull(pk);
+ assertTrue(pk instanceof ECPrivateKey);
+ }
} \ No newline at end of file
diff --git a/app/src/test/resources/private_PKCS8_encoded_ecdsa_key.pem b/app/src/test/resources/private_PKCS8_encoded_ecdsa_key.pem
new file mode 100644
index 00000000..568783a1
--- /dev/null
+++ b/app/src/test/resources/private_PKCS8_encoded_ecdsa_key.pem
@@ -0,0 +1,8 @@
+-----BEGIN PRIVATE KEY-----
+MIHuAgEAMBAGByqGSM49AgEGBSuBBAAjBIHWMIHTAgEBBEIAQHgofCij0Tdc8aO5
+lNnxhjXiU2Z+84/vz0RpCdoZt0H8ytLb5AOUOaPMu5gNGC2SssTkJhGc/dDX7jdw
+8/GEQQ2hgYkDgYYABABnVEIseHS5WQ/8J3x//uTaU9G5d3HR/dOo+RI7PLizxj8p
+pLKptfPDLTWHMujqE5yPe4GYnU2S1KMws853VBTucwF4AVz1sxYMEpFcYUys+Xr1
+JyTDsxA/o4yeV4ZcuqaofNFYUL6YRFjXg7UAlUPp0s6ongQzJ0/10wGDbUI7vR0I
+Lg==
+-----END PRIVATE KEY----- \ No newline at end of file
diff --git a/app/src/test/resources/private_ed25519_key.pem b/app/src/test/resources/private_PKCS8_encoded_ed25519_key.pem
index eac4d4db..eac4d4db 100644
--- a/app/src/test/resources/private_ed25519_key.pem
+++ b/app/src/test/resources/private_PKCS8_encoded_ed25519_key.pem