本文整理匯總了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());
}