本文整理汇总了Java中java.security.interfaces.RSAPublicKey.getPublicExponent方法的典型用法代码示例。如果您正苦于以下问题:Java RSAPublicKey.getPublicExponent方法的具体用法?Java RSAPublicKey.getPublicExponent怎么用?Java RSAPublicKey.getPublicExponent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.security.interfaces.RSAPublicKey
的用法示例。
在下文中一共展示了RSAPublicKey.getPublicExponent方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: decrypt
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
public static String decrypt(PublicKey publicKey, String cipherText)
throws Exception {
Cipher cipher = Cipher.getInstance("RSA");
try {
cipher.init(Cipher.DECRYPT_MODE, publicKey);
} catch (InvalidKeyException e) {
// 因为 IBM JDK 不支持私钥加密, 公钥解密, 所以要反转公私钥
// 也就是说对于解密, 可以通过公钥的参数伪造一个私钥对象欺骗 IBM JDK
RSAPublicKey rsaPublicKey = (RSAPublicKey) publicKey;
RSAPrivateKeySpec spec = new RSAPrivateKeySpec(rsaPublicKey.getModulus(), rsaPublicKey.getPublicExponent());
Key fakePrivateKey = KeyFactory.getInstance("RSA").generatePrivate(spec);
cipher = Cipher.getInstance("RSA"); //It is a stateful object. so we need to get new one.
cipher.init(Cipher.DECRYPT_MODE, fakePrivateKey);
}
if (cipherText == null || cipherText.length() == 0) {
return cipherText;
}
byte[] cipherBytes = Base64.base64ToByteArray(cipherText);
byte[] plainBytes = cipher.doFinal(cipherBytes);
return new String(plainBytes);
}
示例2: decrypt
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
public static String decrypt(PublicKey publicKey, String cipherText)
throws Exception {
Cipher cipher = Cipher.getInstance("RSA");
try {
cipher.init(Cipher.DECRYPT_MODE, publicKey);
} catch (InvalidKeyException e) {
// IBM JDK not support Private key encryption, public key decryption
// so fake an PrivateKey for it
RSAPublicKey rsaPublicKey = (RSAPublicKey) publicKey;
RSAPrivateKeySpec spec = new RSAPrivateKeySpec(rsaPublicKey.getModulus(), rsaPublicKey.getPublicExponent());
Key fakePrivateKey = KeyFactory.getInstance("RSA").generatePrivate(spec);
cipher = Cipher.getInstance("RSA"); //It is a stateful object. so we need to get new one.
cipher.init(Cipher.DECRYPT_MODE, fakePrivateKey);
}
if (cipherText == null || cipherText.length() == 0) {
return cipherText;
}
byte[] cipherBytes = Base64.base64ToByteArray(cipherText);
byte[] plainBytes = cipher.doFinal(cipherBytes);
return new String(plainBytes);
}
示例3: generatePublicKeyParameter
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
public static AsymmetricKeyParameter generatePublicKeyParameter(PublicKey key)
throws InvalidKeyException {
ParamUtil.requireNonNull("key", key);
if (key instanceof RSAPublicKey) {
RSAPublicKey rsaKey = (RSAPublicKey) key;
return new RSAKeyParameters(false, rsaKey.getModulus(), rsaKey.getPublicExponent());
} else if (key instanceof ECPublicKey) {
return ECUtil.generatePublicKeyParameter(key);
} else if (key instanceof DSAPublicKey) {
return DSAUtil.generatePublicKeyParameter(key);
} else {
throw new InvalidKeyException("unknown key " + key.getClass().getName());
}
}
示例4: getRSAPublicKeySpec
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
static RSAPublicKeySpec getRSAPublicKeySpec(PublicKey key) {
if (key instanceof RSAPublicKey) {
RSAPublicKey rsaKey = (RSAPublicKey)key;
return new RSAPublicKeySpec(rsaKey.getModulus(),
rsaKey.getPublicExponent());
}
try {
KeyFactory factory = JsseJce.getKeyFactory("RSA");
return factory.getKeySpec(key, RSAPublicKeySpec.class);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
示例5: verify
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
private static String verify() throws Exception {
RSAEngine engine = new RSAEngine();
Digest digest = new SHA1Digest();
RSAPublicKey publicKey = (RSAPublicKey) getPublic(publicKeyFilename);
BigInteger big = ((RSAKey) publicKey).getModulus();
RSAKeyParameters rsaPublic = new RSAKeyParameters(false, big, publicKey.getPublicExponent());
ISO9796d2Signer verifier = new ISO9796d2Signer(engine, digest, true);
verifier.init(false, rsaPublic); // false for verify
if (!verifier.verifySignature(signature)) {
System.err.println("Signature was modified, could not verify correctness!");
return "";
}
String recoveredMessage = "";
try {
if (verifier.hasFullMessage()) {
verifier.updateWithRecoveredMessage(signature);
}
byte[] message = verifier.getRecoveredMessage();
recoveredMessage = new String(message, "UTF-8");
} catch (Exception exception) {
System.err.println("Recover failed!");
}
return recoveredMessage;
}
示例6: JCERSAPublicKey
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
JCERSAPublicKey(
RSAPublicKey key)
{
this.modulus = key.getModulus();
this.publicExponent = key.getPublicExponent();
}
示例7: generatePublicKeyParameter
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
static RSAKeyParameters generatePublicKeyParameter(
RSAPublicKey key)
{
return new RSAKeyParameters(false, key.getModulus(), key.getPublicExponent());
}
示例8: BCRSAPublicKey
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
BCRSAPublicKey(
RSAPublicKey key)
{
this.modulus = key.getModulus();
this.publicExponent = key.getPublicExponent();
}
示例9: RSA
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
RSA(PublicKey key) throws KeyException {
super(key);
RSAPublicKey rkey = (RSAPublicKey)key;
exponent = new DOMCryptoBinary(rkey.getPublicExponent());
modulus = new DOMCryptoBinary(rkey.getModulus());
}
示例10: generatePublicKeyParameter
import java.security.interfaces.RSAPublicKey; //导入方法依赖的package包/类
static public RSAKeyParameters generatePublicKeyParameter(
RSAPublicKey key)
{
return new RSAKeyParameters(false, key.getModulus(), key.getPublicExponent());
}