首先,我很困惑为什么您打算使用a
Cipher来通过私钥进行加密,而不是使用进行签名
Signature。我不确定所有RSA
Cipher提供程序都将使用正确的块类型进行设置,但是值得一试。
尽管如此,我认为您正在尝试加载非标准的OpenSSL格式密钥。将其转换为DER
rsa本质上只是base-64解码。密钥的结构不是PKCS#8。
相反,在之后
genrsa,请使用
openssl pkcs8命令将生成的密钥转换为未加密的PKCS#8,DER格式:
openssl pkcs8 -topk8 -nocrypt -in private.pem -outform der -out private.der
这将产生未加密的私钥,可以将其加载为
PKCS8EnpredKeySpec。



