在本文中,我们将讨论如何使用 Java 从文件加载 RSA 公钥。当我们使用 OpenSSL 生成私钥和公钥对并希望在 Java 中使用它们进行数字签名和验证时,就会出现这种情况。
我们可以转换私钥使用 OpenSSL 转换为 PKCS8 格式,然后使用以下代码加载它:
<code class="java">import java.nio.file.*; import java.security.*; import java.security.spec.*; public class PrivateKeyReader { public static PrivateKey get(String filename) throws Exception { byte[] keyBytes = Files.readAllBytes(Paths.get(filename)); PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePrivate(spec); } }</code>
要加载公钥,我们需要将其转换为 X509 格式。以下是代码片段:
<code class="java">import java.nio.file.*; import java.security.*; import java.security.spec.*; public class PublicKeyReader { public static PublicKey get(String filename) throws Exception { byte[] keyBytes = Files.readAllBytes(Paths.get(filename)); X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePublic(spec); } }</code>
按照以下步骤,您可以成功从文件加载 RSA 公钥和私钥,并使用它们进行签名和验证操作。
以上是如何在 Java 中从文件加载 RSA 公钥?的详细内容。更多信息请关注PHP中文网其他相关文章!