@Test public void shouldGeneratePrivateKeyWithCRTFactorsForCompatibilityWithOtherPlatform() throws Exception { X509CertificateGenerator generator = new X509CertificateGenerator(); Registration registration = generator.createAgentCertificate(keystore, "agentHostName"); assertThat(registration.getPrivateKey(), instanceOf(RSAPrivateCrtKey.class)); RSAPrivateCrtKey key = (RSAPrivateCrtKey) registration.getPrivateKey(); assertThat(key.getModulus().signum(), is(1)); assertThat(key.getPrivateExponent().signum(), is(1)); assertThat(key.getPrimeP().signum(), is(1)); assertThat(key.getPrimeExponentQ().signum(), is(1)); assertThat(key.getCrtCoefficient().signum(), is(1)); }
/** * @throws IllegalArgumentException if data is not correct length */ public static RSASigningPrivateCrtKey fromJavaKey(RSAPrivateCrtKey pk) throws GeneralSecurityException { int sz = pk.getModulus().bitLength(); SigType type; if (sz <= ((RSAKeyGenParameterSpec) SigType.RSA_SHA256_2048.getParams()).getKeysize()) type = SigType.RSA_SHA256_2048; else if (sz <= ((RSAKeyGenParameterSpec) SigType.RSA_SHA384_3072.getParams()).getKeysize()) type = SigType.RSA_SHA384_3072; else if (sz <= ((RSAKeyGenParameterSpec) SigType.RSA_SHA512_4096.getParams()).getKeysize()) type = SigType.RSA_SHA512_4096; else throw new GeneralSecurityException("Unknown RSA type"); // private key is modulus (pubkey) + exponent BigInteger n = pk.getModulus(); BigInteger d = pk.getPrivateExponent(); byte[] b = SigUtil.combine(n, d, type.getPrivkeyLen()); return new RSASigningPrivateCrtKey(pk, type, b); }
public BigInteger getPrivateExponent() { return prv.getPrivateExponent(); }
@Override public void init(int keySize) throws Exception { KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen.initialize(keySize, new SecureRandom()); KeyPair pair = keyGen.generateKeyPair(); RSAPublicKey pubKey = (RSAPublicKey) pair.getPublic(); RSAPrivateCrtKey prvKey = (RSAPrivateCrtKey) pair.getPrivate(); _d = prvKey.getPrivateExponent().toByteArray(); _e = pubKey.getPublicExponent().toByteArray(); _n = prvKey.getModulus().toByteArray(); _c = prvKey.getCrtCoefficient().toByteArray(); _ep = prvKey.getPrimeExponentP().toByteArray(); _eq = prvKey.getPrimeExponentQ().toByteArray(); _p = prvKey.getPrimeP().toByteArray(); _q = prvKey.getPrimeQ().toByteArray(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ BCRSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ JCERSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ JCERSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ BCRSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ JCERSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ BCRSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
/** * construct a private key from another RSAPrivateCrtKey. * * @param key the object implementing the RSAPrivateCrtKey interface. */ BCRSAPrivateCrtKey( RSAPrivateCrtKey key) { this.modulus = key.getModulus(); this.publicExponent = key.getPublicExponent(); this.privateExponent = key.getPrivateExponent(); this.primeP = key.getPrimeP(); this.primeQ = key.getPrimeQ(); this.primeExponentP = key.getPrimeExponentP(); this.primeExponentQ = key.getPrimeExponentQ(); this.crtCoefficient = key.getCrtCoefficient(); }
static public RSAKeyParameters generatePrivateKeyParameter(RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey) key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } }
static public RSAKeyParameters generatePrivateKeyParameter(RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey) key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } }
public static RSAKeyParameters generateRSAPrivateKeyParameter(final RSAPrivateKey key) { ParamUtil.requireNonNull("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()); } }
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()); } }
static RSAKeyParameters generatePrivateKeyParameter( RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey)key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } } }
static public RSAKeyParameters generatePrivateKeyParameter( RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey)key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } } }
static RSAKeyParameters generatePrivateKeyParameter( RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey)key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } }
static RSAKeyParameters generatePrivateKeyParameter( RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey)key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } }
static RSAKeyParameters generatePrivateKeyParameter( RSAPrivateKey key) { if (key instanceof RSAPrivateCrtKey) { RSAPrivateCrtKey k = (RSAPrivateCrtKey)key; return new RSAPrivateCrtKeyParameters(k.getModulus(), 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()); } } }