Java Code Examples for java.security.interfaces.RSAPrivateKey#getModulus()
The following examples show how to use
java.security.interfaces.RSAPrivateKey#getModulus() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ConfigTools.java From MultimediaDesktop with Apache License 2.0 | 6 votes |
public static String encrypt(byte[] keyBytes, String plainText) throws Exception { PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory factory = KeyFactory.getInstance("RSA"); PrivateKey privateKey = factory.generatePrivate(spec); Cipher cipher = Cipher.getInstance("RSA"); try { cipher.init(Cipher.ENCRYPT_MODE, privateKey); } catch (InvalidKeyException e) { //For IBM JDK, 原因请看解密方法中的说明 RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) privateKey; RSAPublicKeySpec publicKeySpec = new RSAPublicKeySpec(rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); Key fakePublicKey = KeyFactory.getInstance("RSA").generatePublic(publicKeySpec); cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, fakePublicKey); } byte[] encryptedBytes = cipher.doFinal(plainText.getBytes("UTF-8")); String encryptedString = Base64.byteArrayToBase64(encryptedBytes); return encryptedString; }
Example 2
Source File: DecryptUtil.java From dble with GNU General Public License v2.0 | 6 votes |
private static String encrypt(byte[] keyBytes, String plainText) throws Exception { PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory factory = KeyFactory.getInstance("RSA"); PrivateKey privateKey = factory.generatePrivate(spec); Cipher cipher = Cipher.getInstance("RSA"); try { cipher.init(Cipher.ENCRYPT_MODE, privateKey); } catch (InvalidKeyException e) { //For IBM JDK RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) privateKey; RSAPublicKeySpec publicKeySpec = new RSAPublicKeySpec(rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); Key fakePublicKey = KeyFactory.getInstance("RSA").generatePublic(publicKeySpec); cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, fakePublicKey); } byte[] encryptedBytes = cipher.doFinal(plainText.getBytes("UTF-8")); return Base64.byteArrayToBase64(encryptedBytes); }
Example 3
Source File: RsaSignature.java From azure-keyvault-java with MIT License | 6 votes |
protected BigInteger RSASP1(RSAPrivateKey K, BigInteger m) { if ( K == null ) { throw new IllegalArgumentException("K"); } if ( m == null ) { throw new IllegalArgumentException("m"); } BigInteger n = K.getModulus(); BigInteger d = K.getPrivateExponent(); if ( m.compareTo(BigInteger.ONE) == -1 || m.compareTo(n) != -1 ) { throw new IllegalArgumentException("message representative out of range"); } return m.modPow(d, n); }
Example 4
Source File: RSAProvider.java From android-rsa with Apache License 2.0 | 6 votes |
/** * * 生成KeyPair * @return * @throws Exception */ public static Map<String, Object> generateKeyPair() throws Exception { KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); keyPairGen.initialize(KEYSIZE); KeyPair keyPair = keyPairGen.generateKeyPair(); // 公钥 RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); // 私钥 RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); BigInteger modules = privateKey.getModulus(); Map<String, Object> keys = new HashMap<String, Object>(3); keys.put(PUBLIC_KEY, publicKey); keys.put(PRIVATE_KEY, privateKey); keys.put(MODULES, modules); return keys; }
Example 5
Source File: RSAProvider.java From android-rsa with Apache License 2.0 | 6 votes |
/** * * 生成KeyPair * @return * @throws Exception */ public static Map<String, Object> generateKeyPair() throws Exception { KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); keyPairGen.initialize(KEYSIZE); KeyPair keyPair = keyPairGen.generateKeyPair(); // 公钥 RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); // 私钥 RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); BigInteger modules = privateKey.getModulus(); Map<String, Object> keys = new HashMap<String, Object>(3); keys.put(PUBLIC_KEY, publicKey); keys.put(PRIVATE_KEY, privateKey); keys.put(MODULES, modules); return keys; }
Example 6
Source File: KeyGeneratorCli.java From protect with MIT License | 5 votes |
public static PaillierPrivateKey convertToPaillierPrivateKey(final RSAPrivateKey rsaPrivateKey) throws InvalidKeySpecException, NoSuchAlgorithmException { // Get fields final BigInteger n = rsaPrivateKey.getModulus(); // treat as 'n' final BigInteger lambda = rsaPrivateKey.getPrivateExponent(); // treat as 'lambda' // Convert them back to Paillier private key return new PaillierPrivateKey(lambda, n); }
Example 7
Source File: Pem.java From protect with MIT License | 5 votes |
public static PaillierPrivateKey convertToPaillierPrivateKey(final RSAPrivateKey rsaPrivateKey) throws InvalidKeySpecException, NoSuchAlgorithmException { // Get fields final BigInteger n = rsaPrivateKey.getModulus(); // treat as 'n' final BigInteger lambda = rsaPrivateKey.getPrivateExponent(); // treat as 'lambda' // Convert them back to Paillier private key return new PaillierPrivateKey(lambda, n); }
Example 8
Source File: SslConfigurer.java From ambari-logsearch with Apache License 2.0 | 5 votes |
private X509Certificate createCert(KeyPair keyPair, String signatureAlgoritm, String domainName) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException, OperatorCreationException, CertificateException, IOException { RSAPublicKey rsaPublicKey = (RSAPublicKey) keyPair.getPublic(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); AlgorithmIdentifier sigAlgId = new DefaultSignatureAlgorithmIdentifierFinder().find(signatureAlgoritm); AlgorithmIdentifier digAlgId = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgId); BcContentSignerBuilder sigGen = new BcRSAContentSignerBuilder(sigAlgId, digAlgId); ASN1InputStream publicKeyStream = new ASN1InputStream(rsaPublicKey.getEncoded()); SubjectPublicKeyInfo pubKey = SubjectPublicKeyInfo.getInstance(publicKeyStream.readObject()); publicKeyStream.close(); X509v3CertificateBuilder v3CertBuilder = new X509v3CertificateBuilder( new X500Name("CN=" + domainName + ", OU=None, O=None L=None, C=None"), BigInteger.valueOf(Math.abs(new SecureRandom().nextInt())), new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30), new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 365*10)), new X500Name("CN=" + domainName + ", OU=None, O=None L=None, C=None"), pubKey); RSAKeyParameters keyParams = new RSAKeyParameters(true, rsaPrivateKey.getPrivateExponent(), rsaPrivateKey.getModulus()); ContentSigner contentSigner = sigGen.build(keyParams); X509CertificateHolder certificateHolder = v3CertBuilder.build(contentSigner); JcaX509CertificateConverter certConverter = new JcaX509CertificateConverter().setProvider("BC"); return certConverter.getCertificate(certificateHolder); }
Example 9
Source File: SignerUtil.java From xipki with Apache License 2.0 | 5 votes |
public static RSAKeyParameters generateRSAPrivateKeyParameter(RSAPrivateKey key) { Args.notNull(key, "key"); if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey rsaKey = (RSAPrivateCrtKey) key; return new RSAPrivateCrtKeyParameters(rsaKey.getModulus(), rsaKey.getPublicExponent(), rsaKey.getPrivateExponent(), rsaKey.getPrimeP(), rsaKey.getPrimeQ(), rsaKey.getPrimeExponentP(), rsaKey.getPrimeExponentQ(), rsaKey.getCrtCoefficient()); } else { return new RSAKeyParameters(true, key.getModulus(), key.getPrivateExponent()); } }
Example 10
Source File: RsaPrivateKeyDef.java From swim with Apache License 2.0 | 5 votes |
public static RsaPrivateKeyDef from(RSAPrivateKey key) { if (key instanceof RSAMultiPrimePrivateCrtKey) { return from((RSAMultiPrimePrivateCrtKey) key); } else if (key instanceof RSAPrivateCrtKey) { return from((RSAPrivateCrtKey) key); } else { return new RsaPrivateKeyDef(key.getModulus(), key.getPrivateExponent(), key); } }
Example 11
Source File: BCRSAPrivateKey.java From ripple-lib-java with ISC License | 4 votes |
BCRSAPrivateKey( RSAPrivateKey key) { this.modulus = key.getModulus(); this.privateExponent = key.getPrivateExponent(); }
Example 12
Source File: BCRSAPrivateKey.java From RipplePower with Apache License 2.0 | 4 votes |
BCRSAPrivateKey( RSAPrivateKey key) { this.modulus = key.getModulus(); this.privateExponent = key.getPrivateExponent(); }
Example 13
Source File: JCERSAPrivateKey.java From RipplePower with Apache License 2.0 | 4 votes |
JCERSAPrivateKey( RSAPrivateKey key) { this.modulus = key.getModulus(); this.privateExponent = key.getPrivateExponent(); }
Example 14
Source File: PrivateKeyEqualityTest.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }
Example 15
Source File: PrivateKeyEqualityTest.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }
Example 16
Source File: PrivateKeyEqualityTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }
Example 17
Source File: PrivateKeyEqualityTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }
Example 18
Source File: JCERSAPrivateKey.java From ripple-lib-java with ISC License | 4 votes |
JCERSAPrivateKey( RSAPrivateKey key) { this.modulus = key.getModulus(); this.privateExponent = key.getPrivateExponent(); }
Example 19
Source File: PrivateKeyEqualityTest.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }
Example 20
Source File: PrivateKeyEqualityTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeySpecException { // Generate the first key. KeyPairGenerator generator = KeyPairGenerator.getInstance(KEYALG, PROVIDER_NAME); KeyPair keyPair = generator.generateKeyPair(); RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); if (!(rsaPrivateKey instanceof RSAPrivateCrtKey)) { System.err.println("rsaPrivateKey class : " + rsaPrivateKey.getClass().getName()); throw new RuntimeException("rsaPrivateKey is not a RSAPrivateCrtKey instance"); } // Generate the second key. KeyFactory factory = KeyFactory.getInstance(KEYALG, PROVIDER_NAME); RSAPrivateKeySpec rsaPrivateKeySpec = new RSAPrivateKeySpec( rsaPrivateKey.getModulus(), rsaPrivateKey.getPrivateExponent()); RSAPrivateKey rsaPrivateKey2 = (RSAPrivateKey) factory.generatePrivate( rsaPrivateKeySpec); // Generate the third key. PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec( rsaPrivateKey.getEncoded()); RSAPrivateKey rsaPrivateKey3 = (RSAPrivateKey) factory.generatePrivate( encodedKeySpec); // Check for equality. if (rsaPrivateKey.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey should not equal to rsaPrivateKey2"); } if (!rsaPrivateKey3.equals(rsaPrivateKey)) { throw new RuntimeException("rsaPrivateKey3 should equal to rsaPrivateKey"); } if (rsaPrivateKey3.equals(rsaPrivateKey2)) { throw new RuntimeException("rsaPrivateKey3 should not equal to rsaPrivateKey2"); } if (rsaPrivateKey2.equals(rsaPrivateKey3)) { throw new RuntimeException("rsaPrivateKey2 should not equal to rsaPrivateKey3"); } // Generate the fourth key. RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey)rsaPrivateKey; RSAPrivateCrtKeySpec rsaPrivateCrtKeySpec = new RSAPrivateCrtKeySpec( rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent(), rsaPrivateCrtKey.getPrivateExponent(), rsaPrivateCrtKey.getPrimeP(), rsaPrivateCrtKey.getPrimeQ(), rsaPrivateCrtKey.getPrimeExponentP(), rsaPrivateCrtKey.getPrimeExponentQ(), rsaPrivateCrtKey.getCrtCoefficient() ); RSAPrivateCrtKey rsaPrivateKey4 = (RSAPrivateCrtKey) factory.generatePrivate( rsaPrivateCrtKeySpec); if (!rsaPrivateKey.equals(rsaPrivateKey4)) { throw new RuntimeException("rsaPrivateKey should equal to rsaPrivateKey4"); } }