diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/ContentKeyIntegrationTest.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/ContentKeyIntegrationTest.java index f2fb697ad98c..a8b4f3cab0cb 100644 --- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/ContentKeyIntegrationTest.java +++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/ContentKeyIntegrationTest.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import com.microsoft.windowsazure.services.core.ServiceException; @@ -118,6 +119,11 @@ private void verifyContentKeyProperties(String message, String id, ContentKeyTyp assertEquals(message + " Checksum", checksum, actual.getChecksum()); } + @BeforeClass + public static void Setup() { + Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); + } + @Test public void canCreateContentKey() throws Exception { // Arrange diff --git a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/EncryptionIntegrationTest.java b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/EncryptionIntegrationTest.java index a444fe750d89..176f40f00514 100644 --- a/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/EncryptionIntegrationTest.java +++ b/microsoft-azure-api/src/test/java/com/microsoft/windowsazure/services/media/EncryptionIntegrationTest.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.math.BigInteger; import java.net.URL; +import java.net.URLDecoder; import java.security.Key; import java.security.KeyPair; import java.security.KeyPairGenerator; @@ -147,15 +148,16 @@ public void uploadAesProtectedAssetAndDownloadSuccess() throws Exception { } @Test - public void encryptedContentCanBeDecrypted() throws Exception { + public void testEncryptedContentCanBeDecrypted() throws Exception { byte[] aesKey = new byte[32]; for (int i = 0; i < 32; i++) { aesKey[i] = 1; } URL serverCertificateUri = getClass().getResource("/certificate/server.crt"); - X509Certificate x509Certificate = EncryptionHelper.loadX509Certificate(serverCertificateUri.getFile()); + X509Certificate x509Certificate = EncryptionHelper.loadX509Certificate(URLDecoder.decode( + serverCertificateUri.getFile(), "UTF-8")); URL serverPrivateKey = getClass().getResource("/certificate/server.der"); - PrivateKey privateKey = EncryptionHelper.getPrivateKey(serverPrivateKey.getFile()); + PrivateKey privateKey = EncryptionHelper.getPrivateKey(URLDecoder.decode(serverPrivateKey.getFile(), "UTF-8")); byte[] encryptedAesKey = EncryptionHelper.encryptSymmetricKey(x509Certificate, aesKey); byte[] decryptedAesKey = EncryptionHelper.decryptSymmetricKey(encryptedAesKey, privateKey); @@ -168,9 +170,10 @@ public void testEncryptedContentCanBeDecryptedUsingPreGeneratedKeyPair() throws Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding", "BC"); SecureRandom random = new SecureRandom(); URL serverCertificateUri = getClass().getResource("/certificate/server.crt"); - X509Certificate x509Certificate = EncryptionHelper.loadX509Certificate(serverCertificateUri.getFile()); + X509Certificate x509Certificate = EncryptionHelper.loadX509Certificate(URLDecoder.decode( + serverCertificateUri.getFile(), "UTF-8")); URL serverPrivateKey = getClass().getResource("/certificate/server.der"); - PrivateKey privateKey = EncryptionHelper.getPrivateKey(serverPrivateKey.getFile()); + PrivateKey privateKey = EncryptionHelper.getPrivateKey(URLDecoder.decode(serverPrivateKey.getFile(), "UTF-8")); Key pubKey = x509Certificate.getPublicKey(); cipher.init(Cipher.ENCRYPT_MODE, pubKey, random); byte[] cipherText = cipher.doFinal(input);