从 Java 中的文件加载 RSA 私钥
为了签署 SAMLResponse,您需要从文件加载 RSA 私钥。操作方法如下:
<code class="java">File privKeyFile = new File("mykey.pem"); byte[] privKeyBytes = new byte[(int) privKeyFile.length()]; BufferedInputStream bis = new BufferedInputStream(new FileInputStream(privKeyFile)); bis.read(privKeyBytes); bis.close();</code>
您需要使用 OpenSSL 命令将私钥从 PEM 转换为 PKCS8 格式:
openssl pkcs8 -topk8 -inform PEM -outform DER -in mykey.pem -nocrypt > pkcs8_key
这将生成一个新文件 pkcs8_key PKCS8 DER 格式。
<code class="java">KeySpec ks = new PKCS8EncodedKeySpec(privKeyBytes); RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(ks);</code>
现在您已成功加载 PKCS8 格式的 RSA 私钥,可以用它来签署您的 SAMLResponse。
以上是如何从 Java 中的文件加载 RSA 私钥以进行 SAMLResponse 签名?的详细内容。更多信息请关注PHP中文网其他相关文章!