在C#中使用base64对公钥进行编码的正确方法是什么,保存到文件,以及在java中读取该文件后重新计算密钥。
这在C#中
File.WriteAllText(System.Convert.ToBase64String(certificate.GetPublicKey()))
在Java中,我读了所有字节,然后我尝试了这个:
PublicKey pubKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(bytesFromFile)))
它抛出
无效的密钥格式
答案 0 :(得分:0)
setlocal
SET JAVAHOME=..\java
SET PATH=%JAVAHOME%\jre\bin;%JAVAHOME%\jre\bin\client;%JAVAHOME%\bin;%PATH%
SET PATH=%PATH%;bin\
SET POLICY=java.policy
SET JAR_BOOT=program.jar
SET CONFIG_FILE=program.xml
IF EXIST jar\%JAR_BOOT% copy jar\%JAR_BOOT% . >NUL
start javaw -Xbootclasspath/p:jar/xercesImpl-2.9.1.jar;jar/xml-apis-1.3.04.jar;jar/xalan-2.7.1m1.jar;jar/serializer-2.7.1m.jar -Xmx1024M -XX:MaxPermSize=200M -cp %JAR_BOOT% -Dsun.java2d.noddraw=true -DJINTEGRA_NATIVE_MODE -Djava.security.policy=%POLICY% -jar %JAR_BOOT%
title Command Prompt
endlocal
@using System;
@using System.Text;
string password = "yourpassword";
var passwordBytes = Encoding.UTF8.GetBytes(password);
string encodedPassword = Convert.ToBase64String(passwordBytes);
//Debug.Write("csEncodedPassword: "+csEncodedPassword);