亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript - Java ECDH

Javascript - Java ECDH

九州編程 2021-07-16 18:15:52
在我的場景中,Alice 和 Bob 就使用哪條曲線達成了一致。Alice 生成公鑰和私鑰Alice 將公鑰發送給 BobBob 生成他的密鑰并根據他收到的 Alice 公鑰生成會話密鑰(或秘密密鑰或共享密鑰)。我的問題是 Alice 的公鑰實際上是一個點,因此它具有 xy 格式。我需要將 x,y 坐標字節轉換為 ECPublicKey。這是我正在使用的源代碼// outerPublicKey is the raw bytes from x,y coordinates in hex format    KeyFactory kf = KeyFactory.getInstance("EC");    PublicKey remoteAlicePub = kf.generatePublic(new X509EncodedKeySpec(outerPublicKey));    KeyPairGenerator bobKeyGen = KeyPairGenerator.getInstance("ECDH", "BC");    bobKeyGen.initialize(new ECGenParameterSpec(properties.getCurveName()), new SecureRandom());    KeyPair bobPair = bobKeyGen.generateKeyPair();    ECPublicKey bobPub = (ECPublicKey)bobPair.getPublic();    ECPrivateKey bobPvt = (ECPrivateKey)bobPair.getPrivate();    byte[] bobPubEncoded = bobPub.getEncoded();    byte[] bobPvtEncoded = bobPvt.getEncoded();    KeyAgreement bobKeyAgree = KeyAgreement.getInstance("ECDH");    bobKeyAgree.init(bobPvt);    bobKeyAgree.doPhase(remoteAlicePub, true);    return DatatypeConverter.printHexBinary(bobKeyAgree.generateSecret());問題是:    new X509EncodedKeySpec(outerPublicKey);如何從點的 xy 坐標創建公鑰?因為outerPublicKey是 x,y 坐標的原始字節數組,我應該使用哪種格式?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號