private void TestFile(string fileName, Encoding encoding, bool bom) { PGPKeyStorage pGPKeyStorage = ApplicationSetting.ToolSetting.PGPInformation; var line1 = $"1\tTest\t{fileName}"; var line2 = $"2\tTest\t{fileName}"; var line3 = $"3\tTest\t{fileName}"; FileSystemUtils.FileDelete(fileName); var encryptionKey = pGPKeyStorage.GetEncryptionKey("*****@*****.**"); using (var encryptor = new PgpEncryptedDataGenerator(SymmetricKeyAlgorithmTag.TripleDes, false, new SecureRandom())) { encryptor.AddMethod(encryptionKey); using (encryptedStream = encryptor.Open(new FileStream(fileName, FileMode.Create), new byte[16384])) { } var compressedStream = new PgpCompressedDataGenerator(CompressionAlgorithmTag.Zip).Open(encryptedStream); using (var stream = new PgpLiteralDataGenerator().Open(compressedStream, PgpLiteralDataGenerator.Utf8, "PGPStream", DateTime.Now, new byte[4096])) { if (bom) stream.WriteByteOrderMark(encoding); using (var writer2 = new StreamWriter(stream)) { writer2.WriteLine(line1); writer2.WriteLine(line2); writer2.WriteLine(line3); writer2.Flush(); } } } }
public void CopyToTest() { var key2 = new PGPKeyStorage(); m_PGPKeyStorage.CopyTo(key2); Assert.IsTrue(key2.Equals(m_PGPKeyStorage)); }
public static void SetApplicationSetting() { PGPKeyStorage pGPKeyStorage = ApplicationSetting.ToolSetting.PGPInformation; pGPKeyStorage.EncryptedPassphase = "UGotMe".Encrypt(); pGPKeyStorage.AddPrivateKey(PRIVATE); pGPKeyStorage.AddPublicKey(PUBLIC); }
public void EqualsTest() { var key2 = new PGPKeyStorage(); Assert.IsTrue(m_PGPKeyStorage.Equals(m_PGPKeyStorage)); Assert.IsFalse(m_PGPKeyStorage.Equals(null)); key2.EncryptedPassphase = m_PGPKeyStorage.EncryptedPassphase; Assert.IsFalse(key2.Equals(m_PGPKeyStorage)); Assert.IsFalse(m_PGPKeyStorage.Equals("Test")); }
public void IsValidKeyRingBundleTest() { Assert.IsFalse(PGPKeyStorage.IsValidKeyRingBundle("Hello Test", true, out _)); Assert.IsFalse(PGPKeyStorage.IsValidKeyRingBundle("", false, out _)); Assert.IsTrue(PGPKeyStorage.IsValidKeyRingBundle(@"-----BEGIN PGP PRIVATE KEY BLOCK----- Version: GnuPG v2 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 =Bz2c -----END PGP PRIVATE KEY BLOCK-----", true, out _)); Assert.IsTrue(PGPKeyStorage.IsValidKeyRingBundle(@"-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mQGNBFg9yzIBDADYQZtUO0uBo8iFGIuuFcSZc5pNVMARm3P5PERdOgtQ3/d8I8Dp hfaw6CXN8765qOtXjRXf0wVEntn8UbPhEyqBpNPHWuAKpAfNAelVBxRykgKztIGv +YsSJkT/W9SurDWQGn6wSlysQbdF6A2+lnUcFVdgqWSfyNMdP7Bjss28IrHYdfPl 4V/gCA/ffm1zj9ioNgQHLu6wHbUNBZZQxnrlPO9WEtaoHiQ9xKgybTVFVWbZJRCi wc8Hjzp1vBFvPbDKy8wOpRB+HWb26saQYz/HZnr4g5toDhky/gxB2UW14zkLbjVE dwZIX28kLdbDa3kbsvKYANnqa50isWhuGs5G7FWwxyiL0z4AUeot+IApx+QaxVgj CGdj1GuvEbx6bKHFA9R4DPg1GX3YfADk16zvi/Lbf87cA7ppK/XWcnHRg8XO/heG HHsvCyOORnG1vwo9UDg35cydoQbDKriYfOPY2dKv1UtExhH1s/csQSiuaRBMi5zZ z5TfpPrOUg0YyicAEQEAAbQkUmFwaGFlbCBOw7ZsZG5lciA8cm5vbGRuZXJAY3Nv ZC5jb20+iQG5BBMBCAAjBQJYPcsyAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC F4AACgkQXVSFb78K9W7yDgwAuBS0kgCiL9anTdHVSBaUU5AqHEqzHATIqsuat6Gc DyAWETJpmRSmy/2F51H4TjezbeveIWxfNDjqGD7cClhu//wg3bagRq1TrUJ/UQ2r wwd22CRSpYGXKT0q+ebrSoT61Ez1/sNWis7buHiQvq+6RdigGS/Eaes0zqECYCP0 QNOEu+KNZR2R2GxTOvKwU09CtHtZMu2bol4b1TaWEWxfXNrclhMY8F/EKNXufW/Z It1q7AJDNjHrrqYL4iIYdUQiJrMlK6rMGpR8QFLBQkQWYmmGZqcu4asCAM8Qh5en gMCytBONSgJnQzi2BhNmiCkwOCNaLRTfJKnAkVIh/Gjt7dOy9FOmWtSufoRsDPYz iRdy0MThOkwCBK3tWdYT7n4IaMOeERGZIroj82+QC5o/PN9GCrFBK+yi7TEUNFit xEBXH0NM5PjSPW9MAQOnWx6p9cMQ710y2PctJybYarFLLxFKrcoovKYRub0JE0qS MTfnMT+y/R7n7/v0iXJSWB1LuQGNBFg9yzIBDACxTImwgCb658aBXrghV3kK2esp c18r8oNWynkX1RBnuDGymfGmNKHoRp/W4uYywdyvhD5VG1Ro2dfeWQseIiK+iVnY NUT/4vFV5FKxRrP4jbHOOSYncLUkSeF7tGxtWMo7oDT6xXrDq2Vhd3IxdcLzIJwH 8Zjg+VAzG6npzrrWqEbCI9Ua09cYjUHmnCrHwM7lHNmHV5u0+vBCa4YvW9rylbCF 2NDrWCmNC8FD4mLwqhHTsRJU8S+AamymjPxqcLMt40iKjvTEJSTKq1X0YHplfhx9 Lhd1rfyANw99c+JgvH/OK77tgCReQIKAYJqJA4+Nivq7cISeihN+XR50wtBQSQEb J+wttR8jawePJ2NOis+GbRw2LZyj8qY7/NIO03bhMnBLng/MQI8BCSBeH6XlJLYt fZIhxhwwq1OrO4AAfKuLZ89i0n02u3f/ALtjbFEBiCQRcxXaF+GxGF/1+TeqlFEF UYotEp/P0RfLTXCB/38QhL6WNZMZhEiBvZE9DxMAEQEAAYkBnwQYAQgACQUCWD3L MgIbDAAKCRBdVIVvvwr1bvZ1DADNtfmkv+cNss8yYtYj1aOn5lfjCwM/8g9hTVne IcSpY9EGm0CwS9u9bouS2wNZhSwKZ5SNyEJ3oIxgo6W6613f+CajZSlxpKBtGt6z Qj2M2fpKYpRPurHxR34J90ZBTYLrreoMyaGlSmyTzhmOYDLMdQM7aCTGftI6da6C i0lJ+lIVyO4nVCGSD0BZNG2PMgmzXhLxVKAYaQcle4O6iHWMCfWnc7sB24S7RcQ4 ZRB3nkymPGu4DuDYbfHZ30MKZcqiaEzsr1t5yKDxy7xFqHwdElh01h09BHi1J+Ly rKqPo9fWeciCmbkeo64Gfw+VjcDweQnSHR38Pntd91C8seD7AQ5pToOKVlnK4DNq +FfTzRYgFSHi8B0QlLIf8Nhk4xqqmjPdpJVFEx20GKe9gdAaCalKwICC09msrUMs dl9x0ovgSzpUErwY97OlA7iO2WJkevutvLq2ZZAwLfIxI01Zm309Zq63t8TKgPHJ 0l3kIPkMvSVx+8lp3UqCnS5etOA= =g7cd -----END PGP PUBLIC KEY BLOCK-----", false, out _)); }