summaryrefslogtreecommitdiff
path: root/app/src/test/java
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/java
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/java')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/base/utils/PrivateKeyHelperTest.java13
1 files changed, 11 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