@@ -209,6 +209,25 @@ public class PuTTYKeyFileTest {
209
209
"oYhmT2+0DKBuBVCAM4qRdA==\n " +
210
210
"Private-MAC: 40ccc8b9a7291ec64e5be0c99badbc8a012bf220\n " ;
211
211
212
+ final static String ppk1024_umlaut_passphrase = "PuTTY-User-Key-File-2: ssh-rsa\n " +
213
+ "Encryption: aes256-cbc\n " +
214
+ "Comment: user@host\n " +
215
+ "Public-Lines: 4\n " +
216
+ "AAAAB3NzaC1yc2EAAAADAQABAAAAgQDsQv60HaW0301hX/xV3AUcutbDDAJp7KWc\n " +
217
+ "6swL+H6jhwe3N7FK/SA4492bK5oHwU3ea3X6moLuapTMawMQbRy1kfQm99wcYc7C\n " +
218
+ "6PJO3uouzjDatc/aByDejbo5OL9kK4Vy7qm6tw1hC0JIM+TCvItKu+t6Myl7xzv4\n " +
219
+ "KbSHiMzulQ==\n " +
220
+ "Private-Lines: 8\n " +
221
+ "hPS6HYs4t8WChglZzo5G/B0ohnw2DQS19HMPllyVr9XfDyT2Xk8ZSTye84r5CtMP\n " +
222
+ "xF4Qc0nkoStyw9p9Tm762FhkM0iGghLWeCdTyqXVlAA9l3sr0BMJ9AoMvjQBqqns\n " +
223
+ "gjfPvmtNPFn8sfApHVOv1qSLSGOMZFm/q6KtGuR+IyTnMuZ71b/cQYYHbsAQxt09\n " +
224
+ "96I7jDhup/4uoi/tcPYhe998wRFSSldkAtcmYGUnDWCiivlP+gZsXvOI2zs2gCxx\n " +
225
+ "ECEwZNTR/j3G0muRUMf91iZSMBije+41j345F+ZHJ43gYXW6lxjFtI5jr9LRGWF1\n " +
226
+ "hTeY6IlLt4EBBGNrO8Rn0oGVuQdFQAZaredlt1V5FsgcSaMgg3rlScoz0IHHD66Q\n " +
227
+ "Hglp/IYN6Sx6OEGjh3oLGImag+Mz9/9WWGXPLhZ4MUpFAWqcTD4qPK0jYxTCM6QC\n " +
228
+ "TybFqMeCSEKiHSOiOGf2oQ==\n " +
229
+ "Private-MAC: 6aec23b6267edcb87b05ddef52a80894e3a246c4" ;
230
+
212
231
final static String ppkdsa_passphrase = "PuTTY-User-Key-File-2: ssh-dss\n " +
213
232
"Encryption: aes256-cbc\n " +
214
233
"Comment: dsa-key-20140507\n " +
@@ -502,6 +521,15 @@ public void testCorrectPassphraseRsa() throws Exception {
502
521
assertNotNull (key .getPublic ());
503
522
}
504
523
524
+ @ Test
525
+ public void testCorrectPassphraseUmlautRsa () throws Exception {
526
+ PuTTYKeyFile key = new PuTTYKeyFile ();
527
+ key .init (new StringReader (ppk1024_umlaut_passphrase ), new UnitTestPasswordFinder ("äöü" ));
528
+ // Install JCE Unlimited Strength Jurisdiction Policy Files if we get java.security.InvalidKeyException: Illegal key size
529
+ assertNotNull (key .getPrivate ());
530
+ assertNotNull (key .getPublic ());
531
+ }
532
+
505
533
@ Test (expected = IOException .class )
506
534
public void testWrongPassphraseRsa () throws Exception {
507
535
PuTTYKeyFile key = new PuTTYKeyFile ();
0 commit comments