是的,使用bcprov-jdk15on的1.70版本工具或bcprov-jdk18on的1.75版本工具,以及其他一些第三方库,可以读取.pem格式中的RSA公私密钥。

您可以使用这些库提供的方法来读取.pem文件,并将其转换为Java对象。下面是一个示例代码:

import org.bouncycastle.openssl.PEMKeyPair;
import org.bouncycastle.openssl.PEMParser;

import java.io.FileReader;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;

public class RSAUtils {

    public static KeyPair readKeyPairFromPemFile(String filePath) throws Exception {
        try (FileReader fileReader = new FileReader(filePath);
             PEMParser pemParser = new PEMParser(fileReader)) {
            PEMKeyPair pemKeyPair = (PEMKeyPair) pemParser.readObject();
            return new JcaPEMKeyConverter().getKeyPair(pemKeyPair);
        }
    }
    
    public static PrivateKey readPrivateKeyFromPemFile(String filePath) throws Exception {
        try (FileReader fileReader = new FileReader(filePath);
             PEMParser pemParser = new PEMParser(fileReader)) {
            PEMKeyPair pemKeyPair = (PEMKeyPair) pemParser.readObject();
            return new JcaPEMKeyConverter().getPrivateKey(pemKeyPair.getPrivateKeyInfo());
        }
    }
    
    public static PublicKey readPublicKeyFromPemFile(String filePath) throws Exception {
        try (FileReader fileReader = new FileReader(filePath);
             PEMParser pemParser = new PEMParser(fileReader)) {
            PEMKeyPair pemKeyPair = (PEMKeyPair) pemParser.readObject();
            return new JcaPEMKeyConverter().getPublicKey(pemKeyPair.getPublicKeyInfo());
        }
    }
    
    // 其他辅助方法...
}

在上述代码中,我们使用bcprov-jdk15on或bcprov-jdk18on库的PEMParser类来解析.pem文件,并将其转换为PEMKeyPair对象。然后,使用JcaPEMKeyConverter类来将PEMKeyPair对象转换为Java中的KeyPair、PrivateKey或PublicKey对象,以供进一步使用。

请确保在项目的构建文件中引入所需的库依赖

现在想想你是一个java程序员现在你正在使用springboot开发编写一个自定义的RSA工具类在这个过程中我问你:使用bcprov-jdk15on 的170版本工、bcprov-jdk18on的175版本工具或第三方库能读取pem中的RSA公私密钥?

原文地址: https://www.cveoy.top/t/topic/idQe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录