mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-23 17:22:16 -05:00
add test for divert-to-card
This commit is contained in:
parent
b547258df6
commit
84d16bd1f7
@ -25,8 +25,12 @@ import org.junit.runner.RunWith;
|
|||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.shadows.ShadowLog;
|
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.pgp.UncachedKeyRing;
|
||||||
import org.sufficientlysecure.keychain.service.OperationResults.SaveKeyringResult;
|
import org.sufficientlysecure.keychain.service.OperationResults.SaveKeyringResult;
|
||||||
|
import org.sufficientlysecure.keychain.util.ProgressScaler;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@ -40,13 +44,13 @@ public class ProviderHelperSaveTest {
|
|||||||
ShadowLog.stream = System.out;
|
ShadowLog.stream = System.out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test public void testImportCooperPair() throws Exception {
|
||||||
public void testLongKeyIdCollision() throws Exception {
|
|
||||||
|
|
||||||
|
// insert two keys with same long key id, make sure the second one gets rejected either way!
|
||||||
UncachedKeyRing first =
|
UncachedKeyRing first =
|
||||||
readRingFromResource("/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc");
|
readRingFromResource("/test-keys/cooperpair/9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF.asc");
|
||||||
UncachedKeyRing second =
|
UncachedKeyRing second =
|
||||||
readRingFromResource("/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc");
|
readRingFromResource("/test-keys/cooperpair/A55120427374F3F7AA5F1166DDA252EBB8EBE1AF.asc");
|
||||||
|
|
||||||
SaveKeyringResult result;
|
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 {
|
UncachedKeyRing readRingFromResource(String name) throws Exception {
|
||||||
return UncachedKeyRing.fromStream(ProviderHelperSaveTest.class.getResourceAsStream(name)).next();
|
return UncachedKeyRing.fromStream(ProviderHelperSaveTest.class.getResourceAsStream(name)).next();
|
||||||
}
|
}
|
||||||
|
@ -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-----
|
@ -1,45 +1,3 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
|
||||||
|
|
||||||
mQENBFPHw2oBCAC3GlG03VJ2axLekrafwFuTZOysS30rTpUF5yrJC9XHgV/W7/Hk
|
|
||||||
QAWKMOwPcOVRiuBwUgHKcn9Oy/pBBzu0kSF/ttMUe9wOFwEkants2Yap87hRa5po
|
|
||||||
g7lCgtvmKBE6qEPr0EcTKzUif+UcPBXpRs74BtJyaMLQgA3C+wPDZ1MTWf9rkRTp
|
|
||||||
lif7xnAClP89yYvhV9KwDYostVxzc7eCe0hrYXXZjN68z30l1aPxbJbzliTrXFyX
|
|
||||||
w6m4KZsd07dY1rRlamJIMI0HUgCYTPDoJAv8ezpYern1bebb2TEAqsEn6QPJHSHz
|
|
||||||
dbXvPk4PEtor7c8J3H47aaBInVsAulUWDCpNABEBAAG0JUhlcmJlcnQgTXVlbGxl
|
|
||||||
ciA8aGVyYmVydEBleGFtcGxlLmNvbT6JATgEEwECACIFAlPHw2oCGwMGCwkIBwMC
|
|
||||||
BhUIAgkKCwQWAgMBAh4BAheAAAoJEEy26QP/37flyT0IALTxtXfYtgTDGxZLgUp4
|
|
||||||
YOgTF03ghaL8ZdL5aNibkPEFgh4cLmLYr92x05JSzrHz73T5TWUG/0iEOfm2P04k
|
|
||||||
YTjDj1uUZMXp0qGQor2/DHNmGALfpxSCVtSWN9GG7QNFffJmZ3U4gQbbhS9ydHTv
|
|
||||||
uecxCL/TzrM2+0IMh3I3Pm2FY545rFfPcLdRdWPNJhc5ZU+06e7JcF7ji+cFX3RU
|
|
||||||
jkrwILA7xArNQa9YZkAgivhxNFdVjjuVNP2ohGdU2ai4sG217jLMPwmKxD+CUrqG
|
|
||||||
deF6vasJY/EPgmlRQBGAHYIe4gFYw64Tw6FrptQKoVI2Cty9qDh9JaBd8m/0uZB1
|
|
||||||
ikm5AQ0EU8fDagEIAK3udhzj7T6W/9GEYnxTOrrefVE//kQDV7/gCGVdXpbaKdd6
|
|
||||||
ovD2BKd4Pg/1G5UfZJIKhF/xE3RKuHBZKW+4IEnYwdXICPG0IGZ+kkqtxNxwcVCK
|
|
||||||
fgSU5rue867H2yuEH+rAXL01G3pIpO37F55G12/zgFk+3xeQ0i1CEefN/SDnBQQD
|
|
||||||
9cCYeXccoqHPwFKgwYLnqhdINu3uduEAXZr2VAEeLS+bhJbbgDRXRyj0ItVIUCiT
|
|
||||||
ZMrl2uyWFYtnvwntl1RYYj+Dbn4E4f/bjV03m7eSAX5d65oyoMpvlidIJOikATDT
|
|
||||||
H+jmitPxhgaWEcc7rnOioECYXxJvXmaFoN7+27UAEQEAAYkBHwQYAQIACQUCU8fD
|
|
||||||
agIbIAAKCRBMtukD/9+35bvrB/9+w1u03RuSCDC9oLxXIor6/dA/INT4WcnCrROJ
|
|
||||||
07MXEZORZ4dbxWk3N5WLEz6AL+Sk73j0t8TBAVOcj4yHaazHUbuF2mTQGNyKDYpF
|
|
||||||
fFfEtZUcUIyu+MOMvrtnsL6NETHpzAvuohhqxBZEhQDvF4MgrpkzwbUHEau+3VP3
|
|
||||||
WqwY/j96YBY7j4upT4jpkQMj6J4wTsShwHiDiD6gfEtCzcuB/emfaVuedxBNuI7P
|
|
||||||
BkVqwNp6SBGSgPSfPumf0HZGuyNxmMCl9uWv6F1tOoCgiHyDZX7QNZJdMOdQOr5f
|
|
||||||
Pqq7szNSEiufNYIWlenF9FAY0VBHOD6VSb/VwDmf6m9kuAYLuQENBFPHw2oBCACE
|
|
||||||
1PKZd+pcp2UqOUQqmhJdeIwp1lOpH7ZU7CRIoDD+LEEIY0BJ0Cre5RZXzUA5dhA2
|
|
||||||
z9axKDtKMUMqwwTPN1DpePzkFgAzmAh7NcpGXTfBkPmtUnkudyZWgQgq19ycspPd
|
|
||||||
GnWNAqsw5ghtzQsfebRibqlTwEkwZMwXSqnD8o7NkZntUwhCSQY+AosAP+16rHkb
|
|
||||||
5uM1grTfAFkx8MW+Idv6zkgn1BvWHnJDEoN3bPTOt36bgsGEuHgzcpDCLkdQXx2G
|
|
||||||
NWAkdJFfTJwb48/+YilF8gC+4RzKftvwVqD8muoINNEXW0LvgYTLM6P7UXd7Fd5v
|
|
||||||
Xtg2iX+bzg2y35cEm7XVABEBAAGJAR8EGAECAAkFAlPHw2oCGwwACgkQTLbpA//f
|
|
||||||
t+VoCAf+Mm7INmrtS9EbXJZBQvkohyuk0TymI/GV4nng5bBeEuW2xE+3ppnBOTUL
|
|
||||||
J2tlpgboIcVoKcXNKYNiw08bGSMSpFPzpyPZDHqau2fiGUlmZl9Pft4yWgoqCB7K
|
|
||||||
cIk1Lf0F2Pg87dxSfhR+9lJoJnim7waWFCbjNWT1nuTG/30TJPjN6wUG0iQ7zDws
|
|
||||||
kxBJy+FusWaB64CzA6bGWzmT3PxLN2Hmc2xWI5Xn/3Iho6jaVt6mypmBU3ybn7lt
|
|
||||||
zMft9oTiVHQxJGwk2faA3Qv+JI3I4kLwYezEteIZEPkr04Zt5/HiU3Rg9DZsKKWp
|
|
||||||
4En/LdYj1T4I01bkZQ4jDPCcvEqkYg==
|
|
||||||
=jzux
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user