我需要使用 java 生成 PEM 格式的 RSA 和 DSA 密钥对(公钥和私钥)。\n我希望使用以下格式打开公钥和私钥文件:
\n\n\n\n\n-----开始公钥----- MIIBIjANBgkqhkiG9w0BAQEFAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n 3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n 7O9D 22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK480亿+v1oZHCM0nYQ2NqUkvS\n j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n OrUZ/wK69Dzu4I vrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n 5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n FQIDAQAB\n -----结束公钥-----
\n
我的公钥之前已经以这种格式生成,但我不想要它:
\n\n\n\n\n0\xc5\xb80 *\xe2\x80\xa0H\xe2\x80\xa0\xc3\xb7 0\xc5\xb80 *\xe2\x80\xa0H\xe2\x80\xa0\xc3\xb7
\n
好的,这是我的密钥生成代码:
\n\nprivate static void createKey()\n throws Exception {\n\n Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());\n\n BufferedReader in = new BufferedReader(new InputStreamReader(System.in));\n System.out.print("Password to encrypt the private key: ");\n String password = in.readLine();\n System.out.println("Generating an RSA keypair...");\n\n // Create an RSA key\n KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");\n keyPairGenerator.initialize(1024);\n KeyPair keyPair = keyPairGenerator.genKeyPair();\n\n System.out.println("Done …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
BufferedReader in = new BufferedReader
(new InputStreamReader(System.in));
System.out.print("Public Key to encrypt with: ");
String publicKeyFilename = in.readLine();
FileInputStream fis = new FileInputStream(publicKeyFilename);
Run Code Online (Sandbox Code Playgroud)
当我输入文件“ C:/Users/Joe/Desktop/file.txt”的目标时,结果是此错误:
java.io.FileNotFoundException:“ C:/Users/Joe/Desktop/file.txt”(文件名,目录名称或卷标签语法不正确)
但是文件存在,那我该怎么办?
感谢你..