Package java.security.interfaces

Examples of java.security.interfaces.RSAPrivateKey


                    "5187cb9a50fa828e5efe51d52f5d112c20bc700b836facadca6e0051afcdfe866841e37d207c0295" +
                    "36ff8674b301e2198b2c56abb0a0313f8ff84c1fcd6fa541aa6e5d9c018fab4784d2940def5dc709" +
                    "ddc714d73b6c23b5d178eaa5933577b8e8ae9", 16));
       
        RSAPublicKey pubKey = (RSAPublicKey) keyFactory.generatePublic(pubKeySpec);
        RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(privKeySpec);

        // Encrypt the data encryption key with the key encryption key
        XMLCipher keyCipher = XMLCipher.getInstance(XMLCipher.RSA_v1dot5);
        keyCipher.init(XMLCipher.WRAP_MODE, pubKey);
        EncryptedKey encryptedKey = keyCipher.encryptKey(document, dataEncryptKey);
View Full Code Here


    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
    keyGen.initialize(512);
    KeyPair keyPair = keyGen.genKeyPair();
    RSAPublicKey publicKey = (RSAPublicKey)keyPair.getPublic();
    RSAPrivateKey privateKey = (RSAPrivateKey)keyPair.getPrivate();

    RSAKey key = new RSAKey.Builder(publicKey).
      privateKey(privateKey).
      keyUse(null).
      keyOperations(ops).
      algorithm(JWSAlgorithm.RS256).
      keyID("1").
      x509CertURL(x5u).
      x509CertThumbprint(x5t).
      x509CertChain(x5c).
      build();

    // Test getters
    assertNull(key.getKeyUse());
    assertTrue(key.getKeyOperations().contains(KeyOperation.SIGN));
    assertTrue(key.getKeyOperations().contains(KeyOperation.VERIFY));
    assertEquals(2, key.getKeyOperations().size());
    assertEquals(JWSAlgorithm.RS256, key.getAlgorithm());
    assertEquals("1", key.getKeyID());
    assertEquals(x5u.toString(), key.getX509CertURL().toString());
    assertEquals(x5t.toString(), key.getX509CertThumbprint().toString());
    assertEquals(x5c.size(), key.getX509CertChain().size());

    assertTrue(publicKey.getModulus().equals(key.getModulus().decodeToBigInteger()));
    assertTrue(publicKey.getPublicExponent().equals(key.getPublicExponent().decodeToBigInteger()));

    assertTrue(privateKey.getPrivateExponent().equals(key.getPrivateExponent().decodeToBigInteger()));

    assertTrue(key.getOtherPrimes().isEmpty());

    assertTrue(key.isPrivate());


    String jwkString = key.toJSONObject().toString();

    key = RSAKey.parse(jwkString);

    // Test getters
    assertNull(key.getKeyUse());
    assertTrue(key.getKeyOperations().contains(KeyOperation.SIGN));
    assertTrue(key.getKeyOperations().contains(KeyOperation.VERIFY));
    assertEquals(2, key.getKeyOperations().size());
    assertEquals(JWSAlgorithm.RS256, key.getAlgorithm());
    assertEquals("1", key.getKeyID());
    assertEquals(x5u.toString(), key.getX509CertURL().toString());
    assertEquals(x5t.toString(), key.getX509CertThumbprint().toString());
    assertEquals(x5c.size(), key.getX509CertChain().size());

    assertTrue(publicKey.getModulus().equals(key.getModulus().decodeToBigInteger()));
    assertTrue(publicKey.getPublicExponent().equals(key.getPublicExponent().decodeToBigInteger()));

    assertTrue(privateKey.getPrivateExponent().equals(key.getPrivateExponent().decodeToBigInteger()));

    assertTrue(key.getOtherPrimes().isEmpty());

    assertTrue(key.isPrivate());
  }
View Full Code Here

                      null,
                      KeyUse.SIGNATURE, null, JWSAlgorithm.RS256, "1",
                      null, null, null);

    // Private key export with CRT (2nd form)
    RSAPrivateKey privKey = key.toRSAPrivateKey();
    assertEquals(new Base64URL(n).decodeToBigInteger(), privKey.getModulus());
    assertEquals(new Base64URL(d).decodeToBigInteger(), privKey.getPrivateExponent());

    assertTrue(privKey instanceof RSAPrivateCrtKey);
    RSAPrivateCrtKey privCrtKey = (RSAPrivateCrtKey)privKey;
    assertEquals(new Base64URL(e).decodeToBigInteger(), privCrtKey.getPublicExponent());
    assertEquals(new Base64URL(p).decodeToBigInteger(), privCrtKey.getPrimeP());
    assertEquals(new Base64URL(q).decodeToBigInteger(), privCrtKey.getPrimeQ());
    assertEquals(new Base64URL(dp).decodeToBigInteger(), privCrtKey.getPrimeExponentP());
    assertEquals(new Base64URL(dq).decodeToBigInteger(), privCrtKey.getPrimeExponentQ());
    assertEquals(new Base64URL(qi).decodeToBigInteger(), privCrtKey.getCrtCoefficient());


    // Key pair export
    KeyPair pair = key.toKeyPair();

    RSAPublicKey pubKey = (RSAPublicKey)pair.getPublic();
    assertEquals(new Base64URL(n).decodeToBigInteger(), pubKey.getModulus());
    assertEquals(new Base64URL(e).decodeToBigInteger(), pubKey.getPublicExponent());
    assertEquals("RSA", pubKey.getAlgorithm());

    privKey = (RSAPrivateKey)pair.getPrivate();
    assertEquals(new Base64URL(n).decodeToBigInteger(), privKey.getModulus());
    assertEquals(new Base64URL(d).decodeToBigInteger(), privKey.getPrivateExponent());

    assertTrue(privKey instanceof RSAPrivateCrtKey);
    privCrtKey = (RSAPrivateCrtKey)privKey;
    assertEquals(new Base64URL(e).decodeToBigInteger(), privCrtKey.getPublicExponent());
    assertEquals(new Base64URL(p).decodeToBigInteger(), privCrtKey.getPrimeP());
View Full Code Here

    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
    keyGen.initialize(512);
    KeyPair keyPair = keyGen.genKeyPair();
    RSAPublicKey rsaPublicKeyIn = (RSAPublicKey)keyPair.getPublic();
    RSAPrivateKey rsaPrivateKeyIn = (RSAPrivateKey)keyPair.getPrivate();

    RSAKey rsaJWK = new RSAKey.Builder(rsaPublicKeyIn).privateKey(rsaPrivateKeyIn).build();

    // Compare JWK values with original Java RSA values
    assertEquals(rsaPublicKeyIn.getPublicExponent(), rsaJWK.getPublicExponent().decodeToBigInteger());
    assertEquals(rsaPublicKeyIn.getModulus(), rsaJWK.getModulus().decodeToBigInteger());
    assertEquals(rsaPrivateKeyIn.getPrivateExponent(), rsaJWK.getPrivateExponent().decodeToBigInteger());

    // Convert back to Java RSA keys
    RSAPublicKey rsaPublicKeyOut = rsaJWK.toRSAPublicKey();
    RSAPrivateKey rsaPrivateKeyOut = rsaJWK.toRSAPrivateKey();

    assertEquals(rsaPublicKeyIn.getAlgorithm(), rsaPublicKeyOut.getAlgorithm());
    assertEquals(rsaPublicKeyIn.getPublicExponent(), rsaPublicKeyOut.getPublicExponent());
    assertEquals(rsaPublicKeyIn.getModulus(), rsaPublicKeyOut.getModulus());

    assertEquals(rsaPrivateKeyIn.getAlgorithm(), rsaPrivateKeyOut.getAlgorithm());
    assertEquals(rsaPrivateKeyIn.getPrivateExponent(), rsaPrivateKeyOut.getPrivateExponent());

    // Compare encoded forms
    assertEquals("Public RSA", Base64.encode(rsaPublicKeyIn.getEncoded()).toString(), Base64.encode(rsaPublicKeyOut.getEncoded()).toString());
    assertEquals("Private RSA", Base64.encode(rsaPrivateKeyIn.getEncoded()).toString(), Base64.encode(rsaPrivateKeyOut.getEncoded()).toString());

    RSAKey rsaJWK2 = new RSAKey.Builder(rsaPublicKeyOut).privateKey(rsaPrivateKeyOut).build();

    // Compare JWK values with original Java RSA values
    assertEquals(rsaPublicKeyIn.getPublicExponent(), rsaJWK2.getPublicExponent().decodeToBigInteger());
View Full Code Here

      "jJ-GtiseaDVWt7dcH0cfwxgFUHpQh7FoCrjFJ6h6ZEpMF6xmujs4qMpP" +
      "z8aaI4", jwk.getFirstCRTCoefficient().toString());

    // Convert to Java RSA key object
    RSAPublicKey rsaPublicKey = jwk.toRSAPublicKey();
    RSAPrivateKey rsaPrivateKey = jwk.toRSAPrivateKey();

    jwk = new RSAKey.Builder(rsaPublicKey).privateKey(rsaPrivateKey).build();

    assertEquals("n4EPtAOCc9AlkeQHPzHStgAbgs7bTZLwUBZdR8_KuKPEHLd4rHVTeT" +
      "-O-XV2jRojdNhxJWTDvNd7nqQ0VEiZQHz_AJmSCpMaJMRBSFKrKb2wqV" +
View Full Code Here

      "Gl7CF1DZkBJMTQN6EshYzZfxW08mIO8M6Rzuh0beL6fG9mkDcIyPrBXx"+
      "2bQ_mM", jwk.getFirstCRTCoefficient().toString());

    // Convert to Java RSA key object
    RSAPublicKey rsaPublicKey = jwk.toRSAPublicKey();
    RSAPrivateKey rsaPrivateKey = jwk.toRSAPrivateKey();

    jwk = new RSAKey.Builder(rsaPublicKey).privateKey(rsaPrivateKey).build();

    assertEquals("maxhbsmBtdQ3CNrKvprUE6n9lYcregDMLYNeTAWcLj8NnPU9XIYegT"+
      "HVHQjxKDSHP2l-F5jS7sppG1wgdAqZyhnWvXhYNvcM7RfgKxqNx_xAHx"+
View Full Code Here

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(2048);

    KeyPair kp = kpg.genKeyPair();
    RSAPublicKey publicKey = (RSAPublicKey)kp.getPublic();
    RSAPrivateKey privateKey = (RSAPrivateKey)kp.getPrivate();

    JWTClaimsSet claimsSet = new JWTClaimsSet();
    claimsSet.setSubject("alice");
    claimsSet.setIssueTime(new Date(123000l));
    claimsSet.setIssuer("https://c2id.com");
View Full Code Here

    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);
        }
View Full Code Here

                k.getPublicExponent(), k.getPrivateExponent(),
                k.getPrimeP(), k.getPrimeQ(), k.getPrimeExponentP(),                            k.getPrimeExponentQ(), k.getCrtCoefficient());
        }
        else
        {
            RSAPrivateKey    k = key;

            return new RSAKeyParameters(true, k.getModulus(), k.getPrivateExponent());
        }
    }
View Full Code Here

    protected int engineGetKeySize(
        Key     key)
    {
        if (key instanceof RSAPrivateKey)
        {
            RSAPrivateKey   k = (RSAPrivateKey)key;

            return k.getModulus().bitLength();
        }
        else if (key instanceof RSAPublicKey)
        {
            RSAPublicKey   k = (RSAPublicKey)key;

            return k.getModulus().bitLength();
        }

        throw new IllegalArgumentException("not an RSA key!");
    }
View Full Code Here

TOP

Related Classes of java.security.interfaces.RSAPrivateKey

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.