/*
* Copyright (C) 2015-2017 PÂRIS Quentin
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package org.phoenicis.tools.gpg;
import org.junit.Test;
import static org.junit.Assert.*;
public class SignatureCheckerTest {
private static final String SCRIPT = "#!/bin/bash\n" + "if [ \"$PLAYONLINUX\" = \"\" ]\n" + "then\n" + "exit 0\n"
+ "fi\n" + "source \"$PLAYONLINUX/lib/sources\"\n" + "\n" + "POL_SetupWindow_Init \n"
+ "POL_SetupWindow_free_presentation \"Anti-aliasing\" \"This script will enable anti-aliasing\"\n"
+ "POL_SetupWindow_games \"Choose an application\" \"Anti-aliasing\"\n" + "if [ \"$APP_ANSWER\" == \"\" ]\n"
+ "then\n" + "POL_SetupWindow_Close\n" + "exit\n" + "fi\n" + "PREFIX=$(detect_wineprefix \"$APP_ANSWER\")\n"
+ "select_prefix \"$PREFIX\"\n" + "fonts_to_prefix\n"
+ "POL_SetupWindow_wait_next_signal \"Processing\" \"Anti aliasing\"\n" + "REGEDIT4\n" + "\n"
+ "cat << EOF > \"$REPERTOIRE/tmp/fontsaa.reg\"\n" + "[HKEY_CURRENT_USER\\Control Panel\\Desktop]\n"
+ "\"FontSmoothing\"=\"2\"\n" + "\"FontSmoothingType\"=dword:00000002\n"
+ "\"FontSmoothingGamma\"=dword:00000578\n" + "\"FontSmoothingOrientation\"=dword:00000001\n" + "EOF\n"
+ "regedit \"$REPERTOIRE/tmp/fontsaa.reg\"\n" + "\n" + "POL_SetupWindow_detect_exit\n"
+ "POL_SetupWindow_message \"Anti-aliasing has been successfully enabled\" \"Anti-aliasing\"\n"
+ "POL_SetupWindow_Close\n" + "exit\n";
private static final String SIGNATURE = "-----BEGIN PGP SIGNATURE-----\n" + "Version: GnuPG v1.4.9 (GNU/Linux)\n"
+ "\n" + "iEYEABECAAYFAk1cJE4ACgkQ5TH6yaoTykcNqQCdEECsTszINVdQRtPYZFU9Dat6\n"
+ "EoUAni+IJF9wAvjdYHviiiDNVflQKmYA\n" + "=v/ss\n" + "-----END PGP SIGNATURE-----";
private static final String PUBLIC_KEY = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n"
+ "Comment: GPGTools - http://gpgtools.org\n" + "\n"
+ "mQGiBE0ozSYRBADdPem93uvIqrZGpkM8pSxKjyK5PmXhfBsCTRowU09b3OL1eqXP\n"
+ "s1k+waRy6YFK+jwA+wp8vPeGUUDeINMPayL+g+5hXitgoMWrna/64PPLaDf0cqSP\n"
+ "A/2kFxx3vdWaTHwqQRaSx4k68O/8yAJKK4K9FlpUSq3hvOIUYH3ze2XvvwCgszn3\n"
+ "awTWpcnuZZaeZn7E88CGTu8D/iHSLnkBvF8AGcnJUw8SyPSyKiGnBH6rssOpjy/0\n"
+ "Mkx7yfbjXrpiYWsEbvgmgPWGf1cnTELUFosQNR8rv4W7KS8KyYjDR6agc4ek1P6J\n"
+ "bQu2VGUoBhNm//LITwh4ZdOR9aZ1ewUQFksOPFnd/1peFu13MFduZCAHGCpCeoXI\n"
+ "ZE/VA/4/Akh2diRNb9DIAB3Mqxx1ZjhnLl/elb8wCWRo/YLPXiLQNdEHK9c8M+sn\n"
+ "pt/1zbRlg306n8N5C6s6z7HwbfZaA8fDL2UMkmuJrycO2YRWjx8GDhfoocmcQw6b\n"
+ "OXls6f2ZBeGAkj9l1ueDTL3IVClJftK53EjzPeSv84Onw46cK7RMUGxheU9uTGlu\n"
+ "dXggKFBsYXlPbkxpbnV4IGFuZCBQbGF5T25NYWMgc2NyaXB0aW5nIGtleXMpIDxn\n"
+ "cGdAcGxheW9ubGludXguY29tPohgBBMRAgAgBQJNKM0mAhsDBgsJCAcDAgQVAggD\n"
+ "BBYCAwECHgECF4AACgkQ5TH6yaoTykdOxQCfR8Y6HVG1FvNRuXDFKAN9O5eHrOEA\n"
+ "oKEt7Et07dALQnEA099qQOqCZxnQuQINBE0ozSYQCAC7JscaD6ompySGIRR3BmpY\n"
+ "mlwdJDbk0ptZPFi2PKK87oJc2r/fGwKZZw/hHBv46R0zDay8X1r/7a452scZ8SiP\n"
+ "Y2m02pXv1y+cS/c8jPUWNUG39BdzqD6SdgFjsuvgjeQGRpjVrh/K0SKrzLmmdV/9\n"
+ "85b8mbPjWpfn3iwaq/zmbLFZdGY/gcbihTfHNRDys4DX3UrOnQgq/X7psit1pDYT\n"
+ "qVX2gzZvwaXoCIAa0aw1/JAVi/H689bAAuASKkI57u4OdCfvdlMnA5DOcPRR8ttP\n"
+ "9z9wQC/Gsu1VkOsJ4Mfcu0Hh42e6Ta05TDIg+nZQ/iREJjHTnptOTNqeE4K6908D\n"
+ "AAMFB/9UlG6ab0kAXNKsmgeev3P5B1c9g/BgD9TuHF8fONQ04z2ar6n9iwJTxV8W\n"
+ "e7oTZkqS/Zq4dKdYTlhxck16g6CZHVDu4yWVIq7QSz8E5NLi0xhXLWciK3Tw3soQ\n"
+ "QZrfjoQnEuXCCXCWw/1B3odATjfpvRfRxbHZ5kUwwoiRUs3Y1pvRyHpvpBem72Lj\n"
+ "orYJSHh0B76atJG1o21LnsDQCILbANbqyF2BaT6mp7fH3v2f0fliLYTphd6T2i0/\n"
+ "5vDg5JymoIRJY7cjegprA1KIo1n5mvfv2zTARVNO3IyFVIaD7fdn3zW3Pzh75WKx\n"
+ "ghoOaMtjdexZKpJnEpkqbe8Qs2/qiEkEGBECAAkFAk0ozSYCGwwACgkQ5TH6yaoT\n"
+ "ykftZQCfTCroby2HAxhIFRO9+3ACr6bIDkYAnjS2zGBJ44bNFBYHet4DmI9JfEw1\n" + "=PAJ4\n"
+ "-----END PGP PUBLIC KEY BLOCK-----\n";
@Test
public void testSignatureChecker_withValidSignature_returnTrue() {
SignatureChecker signatureChecker = new SignatureChecker().withSignature(SIGNATURE).withData(SCRIPT)
.withPublicKey(PUBLIC_KEY);
assertTrue(signatureChecker.check());
}
@Test
public void testSignatureChecker_withInvalidValidSignature_returnFalse() {
SignatureChecker signatureChecker = new SignatureChecker().withSignature(SIGNATURE)
.withData(SCRIPT.replace("a", "b")).withPublicKey(PUBLIC_KEY);
assertFalse(signatureChecker.check());
}
@Test
public void testGetPublicKey() {
assertEquals(PUBLIC_KEY, SignatureChecker.getPublicKey());
}
}