如何使用AES-256算法和.cer文件加密数据

时间:2016-10-19 08:05:47

标签: java encryption aes keytool

我是java的新手。我有证书文件(.cer,签名算法名称:SHA1withRSA)文件。他们的要求是在Web应用程序中加密用户密码。

我在google上有几个链接,没有使用.cer文件扩展,我使用

在我的密钥库中导入了该文件
keytool -importcert -file C:\Users\Admin\Downloads\xyz.cer -keystore test.jks -alias demo

我使用以下代码获取这些密钥:

public SecretKey getSecretKey(final String typeKeyStore,
                                      final String pathToKeyStore,
                                      final String storePassword,
                                      final String keyAlias,
                                      final String aliasPassword) throws KeyStoreException,
                IOException, CertificateException, NoSuchAlgorithmException, UnrecoverableEntryException {

            KeyStore ks = KeyStore.getInstance(typeKeyStore);
            ks.load(new FileInputStream(pathToKeyStore),
                    storePassword.toCharArray());

            SecretKeyEntry entry = (SecretKeyEntry) ks.getEntry(
                    keyAlias,
                    new KeyStore.PasswordProtection(aliasPassword
                            .toCharArray()));
            return entry.getSecretKey();
        }

以下异常即将来临:

Exception in thread "main" java.lang.UnsupportedOperationException: trusted certificate entries are not password-protected
    at java.security.KeyStoreSpi.engineGetEntry(Unknown Source)
    at java.security.KeyStore.getEntry(Unknown Source)
    at com.aes256.MyAESCrypto.getSecretKey(MyAESCrypto.java:71)
    at com.aes256.MyAESCrypto.main(MyAESCrypto.java:100)

任何人都可以帮助我,不管我是对的吗?

0 个答案:

没有答案