Java中的密钥库(KeyStore)类型和存储条目
密钥库是用于存储加密密钥和证书的存储工具 ,最常用于SSL通信,以证明服务器和客户端的身份。密钥库可以是文件或硬件设备。
有三种类型的条目可以存储在密钥库中,取决于密钥库的类型,这三种类型的条目分别是:
PrivateKey:用于非对称加密的密钥,通常由于其敏感性而受密码保护。它还可用于签署数字签名。
Certificate证书:证书包含一个公钥,可以识别证书中声明的主题 (Subject)。它通常用于验证服务器的身份。有时,它还用于在请求时识别客户端的身份,如双向认证。
SecretKey:在对称加密中使用的密钥条目。
根据密钥库可以存储的条目以及密钥库如何存储条目,Java中有几种不同类型的密钥库:JKS,JCEKS,PKCS12,PKCS11和DKS。最常见的是JKS(Java Key Store,特定于Java平台),JCEKS(Java Cryptography Extension KeyStore,增强式的JKS密钥库),PKCS12(一种标准的密钥库类型,可以在Java和其他语言中使用)类型。