From 84d16bd1f756f5c3317280d4d26ac3216b11b8af Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 2 Sep 2014 12:36:04 +0200 Subject: add test for divert-to-card --- .../keychain/provider/ProviderHelperSaveTest.java | 47 +++++++++++- .../9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc | 29 -------- .../A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc | 29 -------- .../src/test/resources/cooperpair/readme | 3 - .../resources/gnupg_divert_to_card_sec_key.asc | 86 ---------------------- .../9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc | 29 ++++++++ .../A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc | 29 ++++++++ .../src/test/resources/test-keys/cooperpair/readme | 3 + .../resources/test-keys/divert_to_card_pub.asc | 42 +++++++++++ .../resources/test-keys/divert_to_card_sec.asc | 44 +++++++++++ 10 files changed, 190 insertions(+), 151 deletions(-) delete mode 100644 OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc delete mode 100644 OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc delete mode 100644 OpenKeychain-Test/src/test/resources/cooperpair/readme delete mode 100644 OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc create mode 100644 OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc create mode 100644 OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc create mode 100644 OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme create mode 100644 OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc create mode 100644 OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java index b5d950f59..d117f2103 100644 --- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java +++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java @@ -25,8 +25,12 @@ import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.shadows.ShadowLog; +import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey; +import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType; +import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKeyRing; import org.sufficientlysecure.keychain.pgp.UncachedKeyRing; import org.sufficientlysecure.keychain.service.OperationResults.SaveKeyringResult; +import org.sufficientlysecure.keychain.util.ProgressScaler; import java.io.IOException; import java.util.Iterator; @@ -40,13 +44,13 @@ public class ProviderHelperSaveTest { ShadowLog.stream = System.out; } - @Test - public void testLongKeyIdCollision() throws Exception { + @Test public void testImportCooperPair() throws Exception { + // insert two keys with same long key id, make sure the second one gets rejected either way! UncachedKeyRing first = - readRingFromResource("/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc"); + readRingFromResource("/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc"); UncachedKeyRing second = - readRingFromResource("/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc"); + readRingFromResource("/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc"); SaveKeyringResult result; @@ -66,6 +70,41 @@ public class ProviderHelperSaveTest { } + @Test public void testImportDivertToCard() throws Exception { + + UncachedKeyRing pub = + readRingFromResource("/test-keys/divert_to_card_pub.asc"); + UncachedKeyRing sec = + readRingFromResource("/test-keys/divert_to_card_sec.asc"); + long keyId = sec.getMasterKeyId(); + + SaveKeyringResult result; + + // insert both keys, second should fail + result = new ProviderHelper(Robolectric.application).savePublicKeyRing(pub); + Assert.assertTrue("import of public keyring should succeed", result.success()); + result = new ProviderHelper(Robolectric.application).saveSecretKeyRing(sec, + new ProgressScaler()); + Assert.assertTrue("import of secret keyring should succeed", result.success()); + + CanonicalizedSecretKeyRing secRing = + new ProviderHelper(Robolectric.application).getCanonicalizedSecretKeyRing(keyId); + for (CanonicalizedSecretKey key : secRing.secretKeyIterator()) { + Assert.assertEquals("all subkeys should be divert-to-key", + SecretKeyType.DIVERT_TO_CARD, key.getSecretKeyType()); + } + + /* + CachedPublicKeyRing cachedRing = + new ProviderHelper(Robolectric.application).getCachedPublicKeyRing(keyId); + for (CanonicalizedSecretKey key : cachedRing.()) { + Assert.assertEquals("all subkeys should be divert-to-key", + SecretKeyType.DIVERT_TO_CARD, key.getSecretKeyType()); + } + */ + + } + UncachedKeyRing readRingFromResource(String name) throws Exception { return UncachedKeyRing.fromStream(ProviderHelperSaveTest.class.getResourceAsStream(name)).next(); } diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc deleted file mode 100644 index 4f51252da..000000000 --- a/OpenKeychain-Test/src/test/resources/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQINBFJtd/UBEACpw/psXoGNM8RHczviD7FnGdjMQPEJQ+nuWQ2AEGYouulg5hFv -0ChuSQVLiqQht2k5K2liyW1MeXoJ8tr9nSn/Zi9nttc0Wo6K7pvrDD40r2HNg305 -qLCzItr5st3x8cq2cIXvN4LOm2rqpBLZ/sqMmNiW2Y7/aAQqV1xtR35joHqamWHD -UPOmzBMs07YSUjXgC1EMx8kWQSV6cuARj93kxWj8R6eoYHHfrWCEGR313wov6QST -zIfVU7FqQqOmdLW3LaPHxcrI/TjsnkUN99qdlpjJH/YW925LDPJHAkliqPP5AvhU -F9KbY2F8mcIZBCDd8TH+xXynuN3BbIU4kCwVbdx/tcpO1npuJcKB1Go/udyow/Ei -Z3nHzJsCVkezvopek77wnwPaP0nAb7f4iIY3gJCoGirOx6N075TgF6MBe00q9oFE -y4rvnUnU9/QzOOes95eUMhM+9eK1cuLFEV5t47DfxRdq+fQip3FJ2l6v19sZvQ0G -j06pjYqg0of273rG8oXcDrFjb1Zqhj8x1mLl6u7d/ide5wTm9HylBWcYKQjIJJAi -WIScxEPIOINDJKgsKTuKtoyNvISJ3xUeS1yzxiIb3YGLIyPgFFx0vFyqJfbkXq70 -m1n2xnJlkTidfzbZvc6EA7vRGSDYK6FqqhlGhc7UypUEVW8FM/jZNAOS6QARAUGt -tCg5RTY2OTg2MTM2OEJDQTBCRTQyREFGN0REREEyNTJFQkI4RUJFMUFGiQI3BBMB -CgAhBQJSg/uTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEN2iUuu46+Gv -+Z0P+wQhkLwm+WGcEsS98Lei9O7hit/k4g/VkLUUQV7BOR3n8uRZIFkdOtpvrFU3 -aKf246uCy6GM48Oh+1U2cv5InX/WEuKaFo5uF6t79wyt18BUn1weDcU+DQdOSG4f -fSnNa55wkN0l0svW4fGIthjmDTz6HZFntYD+9A20wZAqpPIs+vyG9Jp+e9E9Y/W/ -EFQbNlxHHb9+BMT2+DtNP+HSl3MPFlQPKOLZxyLAU5uzT0Sa0LxhrQy5FgkW6Jog -sbAJVM9z0pZw+grzGPciM66ZW1rxeICvbYsdWLytRjqxpY8GS8XudyseUGd+dZim -ptarsrE5yfSMg2gW5Z1PTc0tEMXJLUwtpyzQjpFpbb7dPuo2TUp09LgZKX63WCbS -Nb1RTaGfkeYudOTo2rh4Jfg+Tb/JRpO6clo0rxAq8nPH2WmG+9TB8Zbb7YRzGWuV -/e5SeVNR+zY8tXZKnmUIH1HIprc+BtT6Bupdvd0CT14Mg9MmsFvUXofwHLa4gahr -8/iG9y3uHSA6Rhz++yOpyOmNvO1LDxsYNaRCIXQJbqgNwF5YNYlMPsEeY/CG7FOb -Afv7rHiYtRRQfz2P4OF900DJO7QL9gdNXJ1+Hajy/5Lvvl7qwqMG4GvVQEsgFc5O -jjFCUhE2i20j2kEMxvA5RLBH/fOoGARn87tiKSfb+pqLNZQb -=fDJ8 ------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc deleted file mode 100644 index 549bc51a2..000000000 --- a/OpenKeychain-Test/src/test/resources/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQINBFKD+38BEADSv5l4xOx9hCRJVcybq6yK5hTpGSFf3xo1bkhoMvyC62ehb4jD -MDLwwNRyzCBEWQJLbq/LLizPFN2qXFJpXJcsuqsHNYRtDqDBEjtriRQwSqHnqTXt -c0K46FYHldCJQ4/tBXxPI+WwtXjcNRWaV7n2BvR/Jk+B5e4Zz3LPnN0C4w5vORHs -hN1jil8A3Hs/F+OmlQYrU8ZtNwTpSo2EXxe2fVgSDCsKRyNsPZj++OyujPzW+yaN -lJ9I/q6s9gvX9o9o7nwZbqBETipWsdRK6RfBdTKpnyLNordbWwWTk6GxN8T5Ppit -P6a3UlQ71VuflcswCTmEQ1pEfZrlRFKa9psBOW+cZLNxT9h0jGFMh6/B3w48Sag+ -cFcPBFWParC+cAXBIURDxT9G6bzNLogg7YKoaPsyiXnLDH2VJUCXs27D2wPJL24Q -S7npvsg63MPPssWgG5cauLznmNR4y5pQi6oH/C10v0zrUJy6FPJzQhYRhWOvhtz6 -j88RGMrFNNCdB2VACtn699D+ixu3nRlXHIKCT+xLSfgslVYifmJOCNljBLGHOQ1e -FJxQuNVpmmxjvk/8kqK+pHLB9Qn6M1ZYzip7OyUL3OAWabCabgEw2bQmUhiBWD3u -buv0WAVOJEAFvBCAeYNQzrQMY+Rc3RnvynG4pI6Tbo8wC6/IJcDOw516JwARASB3 -tChBNTUxMjA0MjczNzRGM0Y3QUE1RjExNjZEREEyNTJFQkI4RUJFMUFGiQI3BBMB -CgAhBQJSg/uTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEN2iUuu46+Gv -9L0P/3tFu0LOZ/dAPjUNfKJCZqcIuVnD5xShMTsUbVx+QoXMy7rt4iRLD7ofGi/I -vTAZehxk3sk/Slx5nbews+3NItyw6mcaP9HlmwKNr6k7BC2kJHcCxH4DNzhmIx1H -3T/CggtHX42JBYKlGf22y+M8jAbvsPOUfTznx96mYNrOY6s1dJyn0kRleqJ8+tGj -/5+0y90iZnGCa0FtacQkKUPkXwVodeZVxk8z5OEipShYKc+8dl+5WsvOzHqLC/KY -xCGRb4JaqEMwouLNg8dTNAXXUvFGqJNDX4+andggogmI1hdD9xExfSU9cAGegg2t -vvveC4S+CCHd+zt88iK5ze6F61RxwYhhNbkuFGjdgNGCpHtG/BQhKnYJuKEbq3oi -mgNyxJERlfgaWXveiMG0AmACXN+jCkTtqZjQnsg2N2QDL3tjY7usmuiwRL1aVOFG -Kw5/Cc+2nDeANS3Xi1403Ni269b1c6kNSoLe4zd0WsbO3Kouds8F8EQfeheXQe97 -ZxuvBOMsR9wHC3f0sl/vfxCGdUC+khmKk5taKnUeUFJmVmh5ghlVy8FySHGB0QHO -zd8GUl59rFpQJNpNFQW2YKDhrcjxIr2AeJrdoDI6NsQ02+Qtep/bbq53hqtAD4jF -t3S8vBbTXtRk6g2qn4ojF4SOIc8SAiZcURgVFuSJX8ngFbO4 -=OEw/ ------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/OpenKeychain-Test/src/test/resources/cooperpair/readme b/OpenKeychain-Test/src/test/resources/cooperpair/readme deleted file mode 100644 index fecb372d9..000000000 --- a/OpenKeychain-Test/src/test/resources/cooperpair/readme +++ /dev/null @@ -1,3 +0,0 @@ -"Cooperpair" testcase under public domain license, by @coruus: - -https://github.com/coruus/cooperpair/tree/master/pgpv4 diff --git a/OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc b/OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc deleted file mode 100644 index 14769fde9..000000000 --- a/OpenKeychain-Test/src/test/resources/gnupg_divert_to_card_sec_key.asc +++ /dev/null @@ -1,86 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) - -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 -4En/LdYj1T4I01bkZQ4jDPCcvEqkYg== -=jzux ------END PGP PUBLIC KEY BLOCK----- ------BEGIN PGP PRIVATE KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) - -lQEmBFPHw2oBCAC3GlG03VJ2axLekrafwFuTZOysS30rTpUF5yrJC9XHgV/W7/Hk -QAWKMOwPcOVRiuBwUgHKcn9Oy/pBBzu0kSF/ttMUe9wOFwEkants2Yap87hRa5po -g7lCgtvmKBE6qEPr0EcTKzUif+UcPBXpRs74BtJyaMLQgA3C+wPDZ1MTWf9rkRTp -lif7xnAClP89yYvhV9KwDYostVxzc7eCe0hrYXXZjN68z30l1aPxbJbzliTrXFyX -w6m4KZsd07dY1rRlamJIMI0HUgCYTPDoJAv8ezpYern1bebb2TEAqsEn6QPJHSHz -dbXvPk4PEtor7c8J3H47aaBInVsAulUWDCpNABEBAAH/AGUAR05VAhDSdgABJAEC -AAAAAAAAAQAAtCVIZXJiZXJ0IE11ZWxsZXIgPGhlcmJlcnRAZXhhbXBsZS5jb20+ -iQE4BBMBAgAiBQJTx8NqAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBM -tukD/9+35ck9CAC08bV32LYEwxsWS4FKeGDoExdN4IWi/GXS+WjYm5DxBYIeHC5i -2K/dsdOSUs6x8+90+U1lBv9IhDn5tj9OJGE4w49blGTF6dKhkKK9vwxzZhgC36cU -glbUljfRhu0DRX3yZmd1OIEG24UvcnR077nnMQi/086zNvtCDIdyNz5thWOeOaxX -z3C3UXVjzSYXOWVPtOnuyXBe44vnBV90VI5K8CCwO8QKzUGvWGZAIIr4cTRXVY47 -lTT9qIRnVNmouLBtte4yzD8JisQ/glK6hnXher2rCWPxD4JpUUARgB2CHuIBWMOu -E8Oha6bUCqFSNgrcvag4fSWgXfJv9LmQdYpJnQEmBFPHw2oBCACt7nYc4+0+lv/R -hGJ8Uzq63n1RP/5EA1e/4AhlXV6W2inXeqLw9gSneD4P9RuVH2SSCoRf8RN0Srhw -WSlvuCBJ2MHVyAjxtCBmfpJKrcTccHFQin4ElOa7nvOux9srhB/qwFy9NRt6SKTt -+xeeRtdv84BZPt8XkNItQhHnzf0g5wUEA/XAmHl3HKKhz8BSoMGC56oXSDbt7nbh -AF2a9lQBHi0vm4SW24A0V0co9CLVSFAok2TK5drslhWLZ78J7ZdUWGI/g25+BOH/ -241dN5u3kgF+XeuaMqDKb5YnSCTopAEw0x/o5orT8YYGlhHHO65zoqBAmF8Sb15m -haDe/tu1ABEBAAH/AGUAR05VAhDSdgABJAECAAAAAAAAAQAAiQEfBBgBAgAJBQJT -x8NqAhsgAAoJEEy26QP/37flu+sH/37DW7TdG5IIML2gvFciivr90D8g1PhZycKt -E4nTsxcRk5Fnh1vFaTc3lYsTPoAv5KTvePS3xMEBU5yPjIdprMdRu4XaZNAY3IoN -ikV8V8S1lRxQjK74w4y+u2ewvo0RMenMC+6iGGrEFkSFAO8XgyCumTPBtQcRq77d -U/darBj+P3pgFjuPi6lPiOmRAyPonjBOxKHAeIOIPqB8S0LNy4H96Z9pW553EE24 -js8GRWrA2npIEZKA9J8+6Z/Qdka7I3GYwKX25a/oXW06gKCIfINlftA1kl0w51A6 -vl8+qruzM1ISK581ghaV6cX0UBjRUEc4PpVJv9XAOZ/qb2S4BgudASYEU8fDagEI -AITU8pl36lynZSo5RCqaEl14jCnWU6kftlTsJEigMP4sQQhjQEnQKt7lFlfNQDl2 -EDbP1rEoO0oxQyrDBM83UOl4/OQWADOYCHs1ykZdN8GQ+a1SeS53JlaBCCrX3Jyy -k90adY0CqzDmCG3NCx95tGJuqVPASTBkzBdKqcPyjs2Rme1TCEJJBj4CiwA/7Xqs -eRvm4zWCtN8AWTHwxb4h2/rOSCfUG9YeckMSg3ds9M63fpuCwYS4eDNykMIuR1Bf -HYY1YCR0kV9MnBvjz/5iKUXyAL7hHMp+2/BWoPya6gg00RdbQu+BhMszo/tRd3sV -3m9e2DaJf5vODbLflwSbtdUAEQEAAf8AZQBHTlUCENJ2AAEkAQIAAAAAAAABAACJ -AR8EGAECAAkFAlPHw2oCGwwACgkQTLbpA//ft+VoCAf+Mm7INmrtS9EbXJZBQvko -hyuk0TymI/GV4nng5bBeEuW2xE+3ppnBOTULJ2tlpgboIcVoKcXNKYNiw08bGSMS -pFPzpyPZDHqau2fiGUlmZl9Pft4yWgoqCB7KcIk1Lf0F2Pg87dxSfhR+9lJoJnim -7waWFCbjNWT1nuTG/30TJPjN6wUG0iQ7zDwskxBJy+FusWaB64CzA6bGWzmT3PxL -N2Hmc2xWI5Xn/3Iho6jaVt6mypmBU3ybn7ltzMft9oTiVHQxJGwk2faA3Qv+JI3I -4kLwYezEteIZEPkr04Zt5/HiU3Rg9DZsKKWp4En/LdYj1T4I01bkZQ4jDPCcvEqk -Yg== -=WUIv ------END PGP PRIVATE KEY BLOCK----- diff --git a/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc new file mode 100644 index 000000000..4f51252da --- /dev/null +++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQINBFJtd/UBEACpw/psXoGNM8RHczviD7FnGdjMQPEJQ+nuWQ2AEGYouulg5hFv +0ChuSQVLiqQht2k5K2liyW1MeXoJ8tr9nSn/Zi9nttc0Wo6K7pvrDD40r2HNg305 +qLCzItr5st3x8cq2cIXvN4LOm2rqpBLZ/sqMmNiW2Y7/aAQqV1xtR35joHqamWHD +UPOmzBMs07YSUjXgC1EMx8kWQSV6cuARj93kxWj8R6eoYHHfrWCEGR313wov6QST +zIfVU7FqQqOmdLW3LaPHxcrI/TjsnkUN99qdlpjJH/YW925LDPJHAkliqPP5AvhU +F9KbY2F8mcIZBCDd8TH+xXynuN3BbIU4kCwVbdx/tcpO1npuJcKB1Go/udyow/Ei +Z3nHzJsCVkezvopek77wnwPaP0nAb7f4iIY3gJCoGirOx6N075TgF6MBe00q9oFE +y4rvnUnU9/QzOOes95eUMhM+9eK1cuLFEV5t47DfxRdq+fQip3FJ2l6v19sZvQ0G +j06pjYqg0of273rG8oXcDrFjb1Zqhj8x1mLl6u7d/ide5wTm9HylBWcYKQjIJJAi +WIScxEPIOINDJKgsKTuKtoyNvISJ3xUeS1yzxiIb3YGLIyPgFFx0vFyqJfbkXq70 +m1n2xnJlkTidfzbZvc6EA7vRGSDYK6FqqhlGhc7UypUEVW8FM/jZNAOS6QARAUGt +tCg5RTY2OTg2MTM2OEJDQTBCRTQyREFGN0REREEyNTJFQkI4RUJFMUFGiQI3BBMB +CgAhBQJSg/uTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEN2iUuu46+Gv ++Z0P+wQhkLwm+WGcEsS98Lei9O7hit/k4g/VkLUUQV7BOR3n8uRZIFkdOtpvrFU3 +aKf246uCy6GM48Oh+1U2cv5InX/WEuKaFo5uF6t79wyt18BUn1weDcU+DQdOSG4f +fSnNa55wkN0l0svW4fGIthjmDTz6HZFntYD+9A20wZAqpPIs+vyG9Jp+e9E9Y/W/ +EFQbNlxHHb9+BMT2+DtNP+HSl3MPFlQPKOLZxyLAU5uzT0Sa0LxhrQy5FgkW6Jog +sbAJVM9z0pZw+grzGPciM66ZW1rxeICvbYsdWLytRjqxpY8GS8XudyseUGd+dZim +ptarsrE5yfSMg2gW5Z1PTc0tEMXJLUwtpyzQjpFpbb7dPuo2TUp09LgZKX63WCbS +Nb1RTaGfkeYudOTo2rh4Jfg+Tb/JRpO6clo0rxAq8nPH2WmG+9TB8Zbb7YRzGWuV +/e5SeVNR+zY8tXZKnmUIH1HIprc+BtT6Bupdvd0CT14Mg9MmsFvUXofwHLa4gahr +8/iG9y3uHSA6Rhz++yOpyOmNvO1LDxsYNaRCIXQJbqgNwF5YNYlMPsEeY/CG7FOb +Afv7rHiYtRRQfz2P4OF900DJO7QL9gdNXJ1+Hajy/5Lvvl7qwqMG4GvVQEsgFc5O +jjFCUhE2i20j2kEMxvA5RLBH/fOoGARn87tiKSfb+pqLNZQb +=fDJ8 +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc new file mode 100644 index 000000000..549bc51a2 --- /dev/null +++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQINBFKD+38BEADSv5l4xOx9hCRJVcybq6yK5hTpGSFf3xo1bkhoMvyC62ehb4jD +MDLwwNRyzCBEWQJLbq/LLizPFN2qXFJpXJcsuqsHNYRtDqDBEjtriRQwSqHnqTXt +c0K46FYHldCJQ4/tBXxPI+WwtXjcNRWaV7n2BvR/Jk+B5e4Zz3LPnN0C4w5vORHs +hN1jil8A3Hs/F+OmlQYrU8ZtNwTpSo2EXxe2fVgSDCsKRyNsPZj++OyujPzW+yaN +lJ9I/q6s9gvX9o9o7nwZbqBETipWsdRK6RfBdTKpnyLNordbWwWTk6GxN8T5Ppit +P6a3UlQ71VuflcswCTmEQ1pEfZrlRFKa9psBOW+cZLNxT9h0jGFMh6/B3w48Sag+ +cFcPBFWParC+cAXBIURDxT9G6bzNLogg7YKoaPsyiXnLDH2VJUCXs27D2wPJL24Q +S7npvsg63MPPssWgG5cauLznmNR4y5pQi6oH/C10v0zrUJy6FPJzQhYRhWOvhtz6 +j88RGMrFNNCdB2VACtn699D+ixu3nRlXHIKCT+xLSfgslVYifmJOCNljBLGHOQ1e +FJxQuNVpmmxjvk/8kqK+pHLB9Qn6M1ZYzip7OyUL3OAWabCabgEw2bQmUhiBWD3u +buv0WAVOJEAFvBCAeYNQzrQMY+Rc3RnvynG4pI6Tbo8wC6/IJcDOw516JwARASB3 +tChBNTUxMjA0MjczNzRGM0Y3QUE1RjExNjZEREEyNTJFQkI4RUJFMUFGiQI3BBMB +CgAhBQJSg/uTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEN2iUuu46+Gv +9L0P/3tFu0LOZ/dAPjUNfKJCZqcIuVnD5xShMTsUbVx+QoXMy7rt4iRLD7ofGi/I +vTAZehxk3sk/Slx5nbews+3NItyw6mcaP9HlmwKNr6k7BC2kJHcCxH4DNzhmIx1H +3T/CggtHX42JBYKlGf22y+M8jAbvsPOUfTznx96mYNrOY6s1dJyn0kRleqJ8+tGj +/5+0y90iZnGCa0FtacQkKUPkXwVodeZVxk8z5OEipShYKc+8dl+5WsvOzHqLC/KY +xCGRb4JaqEMwouLNg8dTNAXXUvFGqJNDX4+andggogmI1hdD9xExfSU9cAGegg2t +vvveC4S+CCHd+zt88iK5ze6F61RxwYhhNbkuFGjdgNGCpHtG/BQhKnYJuKEbq3oi +mgNyxJERlfgaWXveiMG0AmACXN+jCkTtqZjQnsg2N2QDL3tjY7usmuiwRL1aVOFG +Kw5/Cc+2nDeANS3Xi1403Ni269b1c6kNSoLe4zd0WsbO3Kouds8F8EQfeheXQe97 +ZxuvBOMsR9wHC3f0sl/vfxCGdUC+khmKk5taKnUeUFJmVmh5ghlVy8FySHGB0QHO +zd8GUl59rFpQJNpNFQW2YKDhrcjxIr2AeJrdoDI6NsQ02+Qtep/bbq53hqtAD4jF +t3S8vBbTXtRk6g2qn4ojF4SOIc8SAiZcURgVFuSJX8ngFbO4 +=OEw/ +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme new file mode 100644 index 000000000..fecb372d9 --- /dev/null +++ b/OpenKeychain-Test/src/test/resources/test-keys/cooperpair/readme @@ -0,0 +1,3 @@ +"Cooperpair" testcase under public domain license, by @coruus: + +https://github.com/coruus/cooperpair/tree/master/pgpv4 diff --git a/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc new file mode 100644 index 000000000..d6ae54d8b --- /dev/null +++ b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_pub.asc @@ -0,0 +1,42 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +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 +4En/LdYj1T4I01bkZQ4jDPCcvEqkYg== +=jzux +-----END PGP PUBLIC KEY BLOCK----- diff --git a/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc new file mode 100644 index 000000000..3c3bbebe4 --- /dev/null +++ b/OpenKeychain-Test/src/test/resources/test-keys/divert_to_card_sec.asc @@ -0,0 +1,44 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +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 +Yg== +=WUIv +-----END PGP PRIVATE KEY BLOCK----- -- cgit v1.2.3