~brian-thomason/+junk/bouncycastle

« back to all changes in this revision

Viewing changes to src/org/bouncycastle/jce/provider/RSAUtil.java

  • Committer: Brian Thomason
  • Date: 2011-12-20 17:20:32 UTC
  • Revision ID: brian.thomason@canonical.com-20111220172032-rdtm13jgdxtksacr
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.bouncycastle.jce.provider;
 
2
 
 
3
import java.security.interfaces.RSAPrivateCrtKey;
 
4
import java.security.interfaces.RSAPrivateKey;
 
5
import java.security.interfaces.RSAPublicKey;
 
6
 
 
7
import org.bouncycastle.asn1.DERObjectIdentifier;
 
8
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
 
9
import org.bouncycastle.asn1.x509.X509ObjectIdentifiers;
 
10
import org.bouncycastle.crypto.params.RSAKeyParameters;
 
11
import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters;
 
12
 
 
13
/**
 
14
 * utility class for converting java.security RSA objects into their
 
15
 * org.bouncycastle.crypto counterparts.
 
16
 */
 
17
class RSAUtil
 
18
{
 
19
    static boolean isRsaOid(
 
20
        DERObjectIdentifier algOid)
 
21
    {
 
22
        return algOid.equals(PKCSObjectIdentifiers.rsaEncryption)
 
23
            || algOid.equals(X509ObjectIdentifiers.id_ea_rsa)
 
24
            || algOid.equals(PKCSObjectIdentifiers.id_RSASSA_PSS)
 
25
            || algOid.equals(PKCSObjectIdentifiers.id_RSAES_OAEP);
 
26
    }
 
27
    
 
28
    static RSAKeyParameters generatePublicKeyParameter(
 
29
        RSAPublicKey    key)
 
30
    {
 
31
        return new RSAKeyParameters(false, key.getModulus(), key.getPublicExponent());
 
32
 
 
33
    }
 
34
 
 
35
    static RSAKeyParameters generatePrivateKeyParameter(
 
36
        RSAPrivateKey    key)
 
37
    {
 
38
        if (key instanceof RSAPrivateCrtKey)
 
39
        {
 
40
            RSAPrivateCrtKey    k = (RSAPrivateCrtKey)key;
 
41
 
 
42
            return new RSAPrivateCrtKeyParameters(k.getModulus(),
 
43
                k.getPublicExponent(), k.getPrivateExponent(),
 
44
                k.getPrimeP(), k.getPrimeQ(), k.getPrimeExponentP(),                            k.getPrimeExponentQ(), k.getCrtCoefficient());
 
45
        }
 
46
        else
 
47
        {
 
48
            RSAPrivateKey    k = key;
 
49
 
 
50
            return new RSAKeyParameters(true, k.getModulus(), k.getPrivateExponent());
 
51
        }
 
52
    }
 
53
}