本文整理汇总了Java中org.bouncycastle.asn1.pkcs.RSAPrivateKey.getInstance方法的典型用法代码示例。如果您正苦于以下问题:Java RSAPrivateKey.getInstance方法的具体用法?Java RSAPrivateKey.getInstance怎么用?Java RSAPrivateKey.getInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bouncycastle.asn1.pkcs.RSAPrivateKey
的用法示例。
在下文中一共展示了RSAPrivateKey.getInstance方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getRSAPrivateKey
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
public static APrivateKey getRSAPrivateKey(byte[] b) throws Exception
{
ASN1InputStream in = new ASN1InputStream(b);
try
{
ASN1Primitive x = in.readObject();
RSAPrivateKey k = RSAPrivateKey.getInstance(x);
return new APrivateKey(new RSAPrivateCrtKeyParameters
(
k.getModulus(),
k.getPublicExponent(),
k.getPrivateExponent(),
k.getPrime1(),
k.getPrime2(),
k.getExponent1(),
k.getExponent2(),
k.getCoefficient()
));
}
finally
{
CKit.close(in);
}
}
示例2: generatePrivate
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
public PrivateKey generatePrivate(PrivateKeyInfo keyInfo)
throws IOException
{
ASN1ObjectIdentifier algOid = keyInfo.getPrivateKeyAlgorithm().getAlgorithm();
if (RSAUtil.isRsaOid(algOid))
{
RSAPrivateKey rsaPrivKey = RSAPrivateKey.getInstance(keyInfo.parsePrivateKey());
if (rsaPrivKey.getCoefficient().intValue() == 0)
{
return new BCRSAPrivateKey(rsaPrivKey);
}
else
{
return new BCRSAPrivateCrtKey(keyInfo);
}
}
else
{
throw new IOException("algorithm identifier " + algOid + " in key not recognised");
}
}
示例3: loadPrivateKeyResource
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
static AsymmetricKeyParameter loadPrivateKeyResource(String resource)
throws IOException
{
PemObject pem = loadPemResource(resource);
if (pem.getType().endsWith("RSA PRIVATE KEY"))
{
RSAPrivateKey rsa = RSAPrivateKey.getInstance(pem.getContent());
return new RSAPrivateCrtKeyParameters(rsa.getModulus(), rsa.getPublicExponent(),
rsa.getPrivateExponent(), rsa.getPrime1(), rsa.getPrime2(), rsa.getExponent1(),
rsa.getExponent2(), rsa.getCoefficient());
}
if (pem.getType().endsWith("PRIVATE KEY"))
{
return PrivateKeyFactory.createKey(pem.getContent());
}
throw new IllegalArgumentException("'resource' doesn't specify a valid private key");
}
示例4: engineGeneratePrivate
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
protected PrivateKey engineGeneratePrivate(
KeySpec keySpec)
throws InvalidKeySpecException
{
if (keySpec instanceof PKCS8EncodedKeySpec)
{
try
{
return generatePrivate(PrivateKeyInfo.getInstance(((PKCS8EncodedKeySpec)keySpec).getEncoded()));
}
catch (Exception e)
{
//
// in case it's just a RSAPrivateKey object... -- openSSL produces these
//
try
{
return new BCRSAPrivateCrtKey(
RSAPrivateKey.getInstance(((PKCS8EncodedKeySpec)keySpec).getEncoded()));
}
catch (Exception ex)
{
throw new ExtendedInvalidKeySpecException("unable to process key spec: " + e.toString(), e);
}
}
}
else if (keySpec instanceof RSAPrivateCrtKeySpec)
{
return new BCRSAPrivateCrtKey((RSAPrivateCrtKeySpec)keySpec);
}
else if (keySpec instanceof RSAPrivateKeySpec)
{
return new BCRSAPrivateKey((RSAPrivateKeySpec)keySpec);
}
throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName());
}
示例5: BCRSAPrivateCrtKey
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
/**
* construct an RSA key from a private key info object.
*/
BCRSAPrivateCrtKey(
PrivateKeyInfo info)
throws IOException
{
this(RSAPrivateKey.getInstance(info.parsePrivateKey()));
}
示例6: loadKeys
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
public void loadKeys() {
try {
FileInputStream idCertIS = new FileInputStream(new File("keys/identity.crt"));
FileInputStream linkCertIS = new FileInputStream(new File("keys/link.crt"));
FileInputStream authCertIS = new FileInputStream(new File("keys/auth.crt"));
CertificateFactory cf = null;
cf = CertificateFactory.getInstance("X.509");
identityCert = (X509Certificate) cf.generateCertificate(idCertIS);
log.info("Our Identity Cert Digest: " + Hex.toHexString(TorCrypto.getSHA1().digest(TorCrypto.publicKeyToASN1((RSAPublicKey) identityCert.getPublicKey()))));
linkCert = (X509Certificate) cf.generateCertificate(linkCertIS);
log.info("Our Link Cert Digest: " + Hex.toHexString(TorCrypto.getSHA1().digest(TorCrypto.publicKeyToASN1((RSAPublicKey) linkCert.getPublicKey()))));
authCert = (X509Certificate) cf.generateCertificate(authCertIS);
log.info("Our Auth Cert Digest: " + Hex.toHexString(TorCrypto.getSHA1().digest(TorCrypto.publicKeyToASN1((RSAPublicKey) authCert.getPublicKey()))));
identityPubKey = (RSAPublicKey) identityCert.getPublicKey();
FileReader in = new FileReader("keys/identity.key");
identityPrivKey = RSAPrivateKey.getInstance(new PemReader(in).readPemObject().getContent());
} catch (CertificateException | IOException e) {
log.error("Unable to load server public key");
System.exit(1);
}
}
示例7: baseOaepTest
import org.bouncycastle.asn1.pkcs.RSAPrivateKey; //导入方法依赖的package包/类
private void baseOaepTest(
int id,
byte[] pubKeyEnc,
byte[] privKeyEnc,
byte[] output)
throws Exception
{
ByteArrayInputStream bIn = new ByteArrayInputStream(pubKeyEnc);
ASN1InputStream dIn = new ASN1InputStream(bIn);
//
// extract the public key info.
//
RSAPublicKey pubStruct;
pubStruct = RSAPublicKey.getInstance(new SubjectPublicKeyInfo((ASN1Sequence)dIn.readObject()).parsePublicKey());
bIn = new ByteArrayInputStream(privKeyEnc);
dIn = new ASN1InputStream(bIn);
//
// extract the private key info.
//
RSAPrivateKey privStruct;
privStruct = RSAPrivateKey.getInstance(new PrivateKeyInfo((ASN1Sequence)dIn.readObject()).parsePrivateKey());
RSAKeyParameters pubParameters = new RSAKeyParameters(
false,
pubStruct.getModulus(),
pubStruct.getPublicExponent());
RSAKeyParameters privParameters = new RSAPrivateCrtKeyParameters(
privStruct.getModulus(),
privStruct.getPublicExponent(),
privStruct.getPrivateExponent(),
privStruct.getPrime1(),
privStruct.getPrime2(),
privStruct.getExponent1(),
privStruct.getExponent2(),
privStruct.getCoefficient());
byte[] input = new byte[]
{ (byte)0x54, (byte)0x85, (byte)0x9b, (byte)0x34, (byte)0x2c, (byte)0x49, (byte)0xea, (byte)0x2a };
encDec("id(" + id + ")", pubParameters, privParameters, seed, input, output);
}