예제 #1
0
        public void CreateDebugKeyStoreWithStrongPassword()
        {
            string keyfile = Path.Combine(TestName, "debug.keystore");
            string pass    = "******";

            if (File.Exists(keyfile))
            {
                File.Delete(keyfile);
            }
            var task = new AndroidCreateDebugKey {
                BuildEngine  = engine,
                KeyStore     = keyfile,
                StorePass    = pass,
                KeyAlias     = "teststringkey",
                KeyPass      = pass,
                KeyAlgorithm = "RSA",
                Validity     = 10000,
                StoreType    = "pkcs12",
                Command      = "-genkeypair",
                ToolPath     = keyToolPath,
            };

            Assert.IsTrue(task.Execute(), "Task should have succeeded.");
            Assert.AreEqual(0, errors.Count, "Task should have no errors.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");
            Assert.AreEqual(0, task.ExitCode, "ExitCode should have been 0");

            messages.Clear();
            var keyToolTask = new KeyTool {
                BuildEngine = engine,
                KeyStore    = keyfile,
                StorePass   = pass,
                KeyAlias    = "teststringkey",
                KeyPass     = pass,
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsTrue(keyToolTask.Execute(), "Task should have succeeded.");
            Assert.AreEqual(0, errors.Count, "Task should have no errors.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");
            Assert.AreEqual(0, task.ExitCode, "ExitCode should have been 0");
            string output = string.Join(" ", messages.Select(x => x.Message));

            Assert.IsTrue(output.Contains("Certificate fingerprint (SHA"), "Certificate SHA1 or SHA-256 should have been printed.");
        }
예제 #2
0
        public void ListSuccessWithPassword()
        {
            GetValidKeyStore();

            var task = new KeyTool {
                BuildEngine = engine,
                KeyStore    = temp,
                StorePass   = "******",
                KeyAlias    = "mykey",
                KeyPass     = "******",
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsTrue(task.Execute(), "Task should have succeeded.");
            Assert.AreEqual(0, errors.Count, "Task should have no errors.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");
        }
예제 #3
0
        public void ListEmptyKey()
        {
            var task = new KeyTool {
                BuildEngine = engine,
                KeyStore    = temp,
                StorePass   = "******",
                KeyAlias    = "mykey",
                KeyPass     = "******",
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsFalse(task.Execute(), "Task should have failed.");
            Assert.AreEqual(1, errors.Count, "Task should have one error.");
            Assert.AreEqual(0, warnings.Count);
            var error = errors [0];

            Assert.AreEqual($"keytool error: java.lang.Exception: Keystore file exists, but is empty: {temp}", error.Message);
            Assert.AreEqual("ANDKT0000", error.Code);
        }
예제 #4
0
        public void ListInvalidAlias()
        {
            GetValidKeyStore();

            var task = new KeyTool {
                BuildEngine = engine,
                KeyStore    = temp,
                StorePass   = "******",
                KeyAlias    = "asdf",
                KeyPass     = "******",
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsFalse(task.Execute(), "Task should have failed.");
            Assert.AreEqual(1, errors.Count, "Task should have one error.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");
            var error = errors [0];

            Assert.AreEqual($"keytool error: java.lang.Exception: Alias <{task.KeyAlias}> does not exist", error.Message);
            Assert.AreEqual("ANDKT0000", error.Code);
        }
예제 #5
0
        public void ListInvalidPassword()
        {
            GetValidKeyStore();

            var task = new KeyTool {
                BuildEngine = engine,
                KeyStore    = temp,
                StorePass   = "******",
                KeyAlias    = "mykey",
                KeyPass     = "******",
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsFalse(task.Execute(), "Task should have failed.");
            Assert.AreEqual(1, errors.Count, "Task should have one error.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");
            var error = errors [0];

            Assert.AreEqual("keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect", error.Message);
            Assert.AreEqual("ANDKT0000", error.Code);
        }
예제 #6
0
        public void CreateDebugKeyStore()
        {
            string keyfile = Path.Combine(TestName, "debug.keystore");

            if (File.Exists(keyfile))
            {
                File.Delete(keyfile);
            }
            var task = new AndroidCreateDebugKey {
                BuildEngine  = engine,
                KeyStore     = keyfile,
                StorePass    = "******",
                KeyAlias     = "androiddebugkey",
                KeyPass      = "******",
                KeyAlgorithm = "RSA",
                Validity     = 10000,
                StoreType    = "pkcs12",
                Command      = "-genkeypair",
                ToolPath     = keyToolPath,
            };

            Assert.IsTrue(task.Execute(), "Task should have succeeded.");
            Assert.AreEqual(0, errors.Count, "Task should have no errors.");
            Assert.AreEqual(0, warnings.Count, "Task should have no warnings.");

            var keyToolTask = new KeyTool {
                BuildEngine = engine,
                KeyStore    = keyfile,
                StorePass   = "******",
                KeyAlias    = "androiddebugkey",
                KeyPass     = "******",
                Command     = "-list",
                ToolPath    = keyToolPath,
            };

            Assert.IsTrue(keyToolTask.Execute(), "Task should have succeeded.");
        }