[問題] invalid key format
想要做一個類似網頁驗證的程式
所以做了兩支Swing程式
一個是伺服端產生簽章,一個客戶端驗證
伺服端的有三個按鈕
第一個是抓取網頁資料(read url)
第二個是hash這些資料(hashCode)
第三個是產生一個rsa公鑰跟私鑰以及簽章
但第三個是抓別人寫好的,內容差不多如下
private byte[] publicKey;
private byte[] privateKey;
public void initKey() throws Exception {
Map<String, Object> keyMap = RSACoder.initKey();
publicKey = RSACoder.getPublicKey(keyMap);
privateKey = RSACoder.getPrivateKey(keyMap);
System.err.println("私鑰: \n" + Base64.encodeBase64String(privateKey));
}
public void testSign() throws Exception {
String inputStr = "x";
byte[] data = inputStr.getBytes();
// 產生簽名
byte[] sign = RSACoder.sign(data, privateKey);
System.err.println("簽名:\n" + Hex.encodeHexString(sign));
boolean status = RSACoder.verify(data, publicKey, sign);
System.err.println("狀態:\n" + status);
assertTrue(status);
}
客戶端的驗證部份則是想說用上面產生出來的公鑰跟簽章
data一樣是用同樣的方法取得
但是publicKey及sign是複製產生的結果
丟到textField裡去抓
但產生invalid key format的例外錯誤
看網路上好像都是弄成der或pem的方式
不能直接用貼的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.226.118
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):