`

Java security KeyStore Cipher

 
阅读更多

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));
1
1
分享到:
评论

相关推荐

    java 证书 加密 解密

    在Java中,我们可以使用`java.security.KeyStore`类来操作PKCS#12文件。首先,我们需要加载KeyStore,然后可以获取其中的私钥和证书。以下是一段示例代码: ```java import java.io.FileInputStream; import java....

    基于elgamal实现PKI(java)

    Java提供了`java.security.KeyStore`类来处理密钥库。用户需要设置一个强密码来保护私钥的安全。 ```java KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(null, null); // ...

    code_secure:rsa_security模块包括create keystore,X509Certifycation和RSA Cipher

    本文将深入探讨`rsa_security`模块,包括创建密钥库(KeyStore)、X.509证书以及RSA Cipher的使用。 一、创建密钥库(KeyStore) 密钥库是存储公钥和私钥的安全容器,它允许开发者管理和保护密钥。在Java中,我们...

    java自带crypto库使用示例

    import java.security.KeyStore; import java.security.PrivateKey; public class KeyStoreExample { public static void main(String[] args) throws Exception { String keyStoreFile = "keystore.jks"; ...

    java对几种加密算法的实现

    10. **密钥管理**:Java的`java.security.KeyStore`类用于存储和管理密钥对和证书,保证密钥的安全。 以上就是Java中常见的加密算法实现,开发者可以根据具体需求选择合适的算法,并使用Java提供的API来实现加密、...

    RSA加密算法--java实现

    Java提供了`java.security.KeyStore`类来管理这些密钥。可以使用`KeyStore.load()`加载Keystore,`KeyStore.setKeyEntry()`存储密钥,以及`KeyStore.getKey()`和`KeyStore.getCertificate()`来获取密钥和证书。 3. ...

    Java语言实现的md5,rsa算法传送文件

    在Java中,我们可以通过`java.security.KeyPairGenerator`和`javax.crypto.Cipher`来生成密钥对并进行加密解密操作: ```java import java.security.KeyPair; import java.security.KeyPairGenerator; import java....

    Java公钥加密算法RSA.rar

    - `keystore`文件:存储密钥对的文件,可能使用Java的KeyStore API进行管理。 - `证书`文件:用于验证公钥的身份,通常在公钥分发时使用。 通过这个项目,开发者可以学习如何在Java中创建和使用RSA密钥对,以及如何...

    java手工读取ejbca证书,并加密与解密操作

    证书在 Java 中通常以 `java.security.cert.X509Certificate` 类型表示。获取证书后,可以使用 `CertificateFactory` 类来解析证书: ```java CertificateFactory cf = CertificateFactory.getInstance("X.509"); ...

    java加密解密算法小实例

    Java提供`java.security.KeyStore`类来管理公钥和私钥,以及证书。通过`KeyStore.load()`方法加载密钥库,然后使用相应的密码获取密钥。 5. **加密流**:Java还提供了`CipherInputStream`和`CipherOutputStream`,...

    java加密小程序

    Java的`java.security.KeyStore` 类用于存储和管理密钥、证书等安全信息。通过`KeyStore.load()` 可以加载密钥库,`KeyStore.getKey()` 和 `KeyStore.getCertificate()` 分别用于获取密钥和证书。 7. **加密流程**...

    IBM JAVA上加密算法的实现用例.rar_Java加密_加密算法

    在实际应用中,我们可能还需要处理密钥的存储和传输问题,比如使用X.509证书或PKCS#12格式,这可以通过`java.security.cert`和`java.security.KeyStore`等类实现。 此外,文件`www.pudn.com.txt`可能包含了一些关于...

    JAVA使用数字证书加密文件

    Java通过`java.security.KeyStore`类来处理这种类型的文件。要从PFX文件中提取密钥对,你需要执行以下步骤: 1. 加载KeyStore实例,指定类型为"PKCS12",因为PFX是PKCS#12标准的实现。 2. 设置KeyStore的密码,这个...

    JAVA工具类PKI公钥基础设施

    4. **密钥库**:Java使用`java.security.KeyStore`类来管理公钥、私钥和证书。密钥库是存储这些安全实体的安全存储区,通常包含用户自己的私钥和信任的CA证书。`KeyStore.load()`方法用于加载密钥库,`KeyStore....

    加密典型代码(java)

    Java的`java.security.KeyStore`类提供了这方面的功能。 此外,为了提高安全性,常常会结合使用对称加密和非对称加密。比如,使用非对称加密交换一个对称密钥,然后用这个对称密钥进行大量数据的加密,这样既能保证...

    JAVA数据加密解密的实例+

    5. **数字签名与验签**:在Java中,可以使用`java.security.Signature`类来创建和验证数字签名。签名可以用来证明数据的完整性和来源。 6. **密钥管理**:密钥的生成、存储和分发是非常关键的。在实际应用中,密钥...

    RSA加密算法Java语言版

    在实际项目中,为了安全起见,密钥通常会存储在keystore文件中,使用`java.security.KeyStore`类进行管理。此外,还可以使用`java.security.Signature`类进行数字签名,增加数据的完整性和防篡改性。 在提供的...

    用Java实现的密码算法。.zip

    例如,X.509证书用于存储公钥和证书持有者的身份信息,Java的KeyStore类可以帮助管理这些证书。 总的来说,Java提供了一整套强大的密码学工具,允许开发者安全地处理敏感信息。通过深入理解这些API并结合实际需求,...

    java_rsa.rar_java RSA_java r

    4. **密钥存储**:为了在不同时间或不同系统间安全地传输和使用密钥,可能会使用`java.security.KeyStore`类来存储和加载密钥。 5. **示例代码**:压缩包中的源代码可能包含了如何创建密钥对、如何进行加密解密的...

    Java生成密钥的实例.rar

    在Java中,密钥生成通常涉及到`java.security`包中的类,如KeyPairGenerator、KeyPair和Cipher等。我们将探讨以下关键知识点: 1. **密钥对生成器(KeyPairGenerator)**:这是Java中用于生成公钥和私钥对的主要...

Global site tag (gtag.js) - Google Analytics