/** * Test {@link RSAOAEPPrivateKey#generate} and other basic methods: * {@link RSAOAEPPrivateKey#isInitialized}, {@link RSAOAEPPrivateKey#getBitStrength}. */ @Test public void generateAndBasicMethods() throws Exception { assertTrue(randomPrivateKey4096.isInitialized()); assertEquals(randomPrivateKey4096.getBitStrength(), 4096); assertTrue(randomPrivateKey4096.canDecrypt()); }
assertTrue(rsaPrivateKey.isInitialized()); assertEquals(rsaPrivateKey.getBitStrength(), 1024); ((RSAOAEPPrivateKey) rsaPrivateKey).resetDecryptor();
AbstractPublicKey publicKey = privateKey.getPublicKey(); assertTrue(privateKey.isInitialized()); assertEquals(privateKey.getBitStrength(), 4096);
/** * Test {@link RSAOAEPPrivateKey#updateFromHash} on success scenarios, * on some sample vector. */ @Test public void updateFromHashGoodSample() throws Exception { Map map = new HashMap<String, Object>() {{ put("e", Hex.decode("010001")); put("p", Hex.decode("d4f56e648a7fe26ab052144abfd9a9cdb3ebf220ac05c3e3eb13e42c245ab0578e185a8782bf9b4c1fcc1f577a01cf9c86afef7b4fbb22ecf4fee4409f94c40da7527e0a084ae274494826a7352de4611d36b21bd3d43b4684d997dffff76765b2033a2dd949ccc5521bf1b2889c75a4ce5ce7eb09269dfeaa1f859449c4f359fcbbfc6a00593c1948665c494e7c7edd185c541a7709de5e0528345d0fc31bd214b4d36a7f96cea8fc003730fbeff97bb14267c14dad794d4f949a65fa10fcbc27d1df170128c42d294161ccdaec5e4886da42920d4f6d89dad7a038625111cd75f5d0268009d4fed07adb08da146729e3bf8e882646ad97df0a1e9391656951")); put("q", Hex.decode("c7524e21b6d44fe1e7467168b5888047216584821d4b12370f5ca42eefdf729c9f328fe4eaad06ae52aff40bf099d5e8383b34a6a5ea6d52fadf1178546b7afa48eee25801015fe174294a59c0f3fe24f8c3dcdc1572c96b602235e4c26e0fa85c2e9852f529574afb7ccc53ba47c6705de1170bd5b41cd8ca80efd1c324e1a5091a0a5a895d00b857185fd73fd284da14503b6b48a5ee165ce981732ae163d21ae4426204bb8a7e23c6793d4e9c9501a57abbf5457f745ff62e78d8bb250fe41bec2b3c6f77e64876a1d63d0b19ead7e393c7507358b5dbc4ce2c21554c00aa8e8d38c78e72ce0ed306e9c3ae0cd4cc1e92842caf7b70e883daf43b0cf25267")); put("mgf1Hash", "SHA-512"); }}; AbstractPrivateKey privateKey = new RSAOAEPPrivateKey(); privateKey.updateFromHash(map); AbstractPublicKey publicKey = privateKey.getPublicKey(); assertTrue(privateKey.isInitialized()); assertEquals(privateKey.getBitStrength(), 4096); // Also test that the public key counterpart is also deserialized properly // and is capable of encrypting the data (after deserialization) as needed. assertTrue(publicKey.isInitialized()); assertEquals(publicKey.getBitStrength(), 4096); RSAOAEPPublicKey.State publicKeyState = ((RSAOAEPPublicKey)publicKey).state; assertEquals(publicKeyState.oaepHashType, HashType.SHA1); // Default assertEquals(publicKeyState.mgf1HashType, HashType.SHA512); RSAOAEPPrivateKey.State privateKeyState = ((RSAOAEPPrivateKey)privateKey).state; assertEquals(privateKeyState.oaepHashType, HashType.SHA1); // Default assertEquals(privateKeyState.mgf1HashType, HashType.SHA512); }