【问题标题】:Wrong key usage in encryption加密中的错误密钥使用
【发布时间】:2014-04-19 04:16:03
【问题描述】:

这个类加密数据值,首先我得到如下密码,

KeyStore primaryKeyStore = getKeyStore(keyStoreFile, password, keyType, provider);
java.security.cert.Certificate certs = primaryKeyStore.getCertificate(aliasName);
cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, certs);

但是上面代码的最后一行给出了以下错误。 错误的密钥用法是什么意思? 我不能将此证书用于加密目的吗? 是否有单独的加密证书?

Caused by: java.security.InvalidKeyException: Wrong key usage 
at javax.crypto.Cipher.init(Cipher.java:1640) 
at javax.crypto.Cipher.init(Cipher.java:1549) 
at my.test.ciphertool.CipherTool.initCipher(CipherTool.java:167) 
... 1 more 

【问题讨论】:

    标签: java security encryption certificate


    【解决方案1】:

    它的意思与Javadoc 中所说的完全一样:

    如果证书是 X.509 类型并且有一个密钥使用扩展字段标记为关键,并且密钥使用扩展字段的值意味着证书中的公钥及其对应的私钥不应该是用于opmode的值所代表的操作,会抛出InvalidKeyException。

    【讨论】:

      猜你喜欢
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      相关资源
      最近更新 更多