http://docs.oracle.com/javase/7/docs/technotes/guides/security/crypto/CryptoSpec.html
//c:\Program Files\Java\jdk1.7.0_01\bin>keytool.exe -genkeypair -alias alex -keyalg RSA -keysize 1024 -storepass 123456 -v
KeyStore keyStore = KeyStore.getInstance("jks");
char[] password = "123456".toCharArray();
keyStore.load(new FileInputStream("c:/users/administrator/.keystore"), password);
Enumeration<String> aliases = keyStore.aliases();
while(aliases.hasMoreElements()){
String element = aliases.nextElement();
System.out.println(element);
}
String alias = "alex";
Certificate cer = keyStore.getCertificate(alias);
String s = cer.toString();
System.out.println(s);
System.out.println("public key algorithm:"+cer.getPublicKey().getAlgorithm());
Cipher cipher = Cipher.getInstance(cer.getPublicKey().getAlgorithm());
cipher.init(Cipher.ENCRYPT_MODE, cer);
byte[] msg = cipher.doFinal("hello alex".getBytes());
System.out.println("encrypt result:"+new String(msg));
Key key = keyStore.getKey(alias, password);
String algorithm = key.getAlgorithm();
System.out.println("key algorithm:"+algorithm);
cipher = Cipher.getInstance(algorithm);
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] result = cipher.doFinal(msg);
System.out.println("decrypt result:"+new String(result));
分享到:
相关推荐
在Java中,我们可以使用`java.security.KeyStore`类来操作PKCS#12文件。首先,我们需要加载KeyStore,然后可以获取其中的私钥和证书。以下是一段示例代码: ```java import java.io.FileInputStream; import java....
Java提供了`java.security.KeyStore`类来处理密钥库。用户需要设置一个强密码来保护私钥的安全。 ```java KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(null, null); // ...
本文将深入探讨`rsa_security`模块,包括创建密钥库(KeyStore)、X.509证书以及RSA Cipher的使用。 一、创建密钥库(KeyStore) 密钥库是存储公钥和私钥的安全容器,它允许开发者管理和保护密钥。在Java中,我们...
import java.security.KeyStore; import java.security.PrivateKey; public class KeyStoreExample { public static void main(String[] args) throws Exception { String keyStoreFile = "keystore.jks"; ...
10. **密钥管理**:Java的`java.security.KeyStore`类用于存储和管理密钥对和证书,保证密钥的安全。 以上就是Java中常见的加密算法实现,开发者可以根据具体需求选择合适的算法,并使用Java提供的API来实现加密、...
Java提供了`java.security.KeyStore`类来管理这些密钥。可以使用`KeyStore.load()`加载Keystore,`KeyStore.setKeyEntry()`存储密钥,以及`KeyStore.getKey()`和`KeyStore.getCertificate()`来获取密钥和证书。 3. ...
在Java中,我们可以通过`java.security.KeyPairGenerator`和`javax.crypto.Cipher`来生成密钥对并进行加密解密操作: ```java import java.security.KeyPair; import java.security.KeyPairGenerator; import java....
- `keystore`文件:存储密钥对的文件,可能使用Java的KeyStore API进行管理。 - `证书`文件:用于验证公钥的身份,通常在公钥分发时使用。 通过这个项目,开发者可以学习如何在Java中创建和使用RSA密钥对,以及如何...
证书在 Java 中通常以 `java.security.cert.X509Certificate` 类型表示。获取证书后,可以使用 `CertificateFactory` 类来解析证书: ```java CertificateFactory cf = CertificateFactory.getInstance("X.509"); ...
Java提供`java.security.KeyStore`类来管理公钥和私钥,以及证书。通过`KeyStore.load()`方法加载密钥库,然后使用相应的密码获取密钥。 5. **加密流**:Java还提供了`CipherInputStream`和`CipherOutputStream`,...
Java的`java.security.KeyStore` 类用于存储和管理密钥、证书等安全信息。通过`KeyStore.load()` 可以加载密钥库,`KeyStore.getKey()` 和 `KeyStore.getCertificate()` 分别用于获取密钥和证书。 7. **加密流程**...
在实际应用中,我们可能还需要处理密钥的存储和传输问题,比如使用X.509证书或PKCS#12格式,这可以通过`java.security.cert`和`java.security.KeyStore`等类实现。 此外,文件`www.pudn.com.txt`可能包含了一些关于...
Java通过`java.security.KeyStore`类来处理这种类型的文件。要从PFX文件中提取密钥对,你需要执行以下步骤: 1. 加载KeyStore实例,指定类型为"PKCS12",因为PFX是PKCS#12标准的实现。 2. 设置KeyStore的密码,这个...
4. **密钥库**:Java使用`java.security.KeyStore`类来管理公钥、私钥和证书。密钥库是存储这些安全实体的安全存储区,通常包含用户自己的私钥和信任的CA证书。`KeyStore.load()`方法用于加载密钥库,`KeyStore....
Java的`java.security.KeyStore`类提供了这方面的功能。 此外,为了提高安全性,常常会结合使用对称加密和非对称加密。比如,使用非对称加密交换一个对称密钥,然后用这个对称密钥进行大量数据的加密,这样既能保证...
5. **数字签名与验签**:在Java中,可以使用`java.security.Signature`类来创建和验证数字签名。签名可以用来证明数据的完整性和来源。 6. **密钥管理**:密钥的生成、存储和分发是非常关键的。在实际应用中,密钥...
在实际项目中,为了安全起见,密钥通常会存储在keystore文件中,使用`java.security.KeyStore`类进行管理。此外,还可以使用`java.security.Signature`类进行数字签名,增加数据的完整性和防篡改性。 在提供的...
例如,X.509证书用于存储公钥和证书持有者的身份信息,Java的KeyStore类可以帮助管理这些证书。 总的来说,Java提供了一整套强大的密码学工具,允许开发者安全地处理敏感信息。通过深入理解这些API并结合实际需求,...
4. **密钥存储**:为了在不同时间或不同系统间安全地传输和使用密钥,可能会使用`java.security.KeyStore`类来存储和加载密钥。 5. **示例代码**:压缩包中的源代码可能包含了如何创建密钥对、如何进行加密解密的...
在Java中,密钥生成通常涉及到`java.security`包中的类,如KeyPairGenerator、KeyPair和Cipher等。我们将探讨以下关键知识点: 1. **密钥对生成器(KeyPairGenerator)**:这是Java中用于生成公钥和私钥对的主要...