2013-08-26 1 views
0

안녕하세요, 저는 java에 새로운 암호화 코드입니다. 암호화 된 공개 키 데이터 배열은 java card.the에서 가져온 것입니다. 길이는 49 바이트입니다. 그래서 나는 공개 키를 생성 한 Eccpublic key.so를 genarate해야합니다. 나누었다는 java.security.spec.InvalidKeySpecException: encoded key spec not recognised error.This 내 코드의 사람이 어떻게Genomate ECPublicKey in Java

byte[] pub = new byte[] { 
      /*(Public data) 49 length byte ARRAY 
      */ 


      }; 

      System.out.println("Length :" + pub.length); 
      X509EncodedKeySpec ks = new X509EncodedKeySpec(pub); 

      KeyFactory kf; 
      try { 
       kf = KeyFactory.getInstance("ECDH"); 

      } catch (NoSuchAlgorithmException e) { 
       e.printStackTrace(); 
       return; 
      } 

      ECPublicKey remotePublicKey; 

      try { 
       remotePublicKey = (ECPublicKey) kf.generatePublic(ks); 
      } catch (InvalidKeySpecException e) { 
       e.printStackTrace(); 
       return; 
      } catch (ClassCastException e) { 
       e.printStackTrace(); 
       return; 
      } 
      System.out.println(remotePublicKey); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
+0

데이터 배열에 실제 데이터를 추가 할 수 있습니까? – gtrig

답변

0

이유는 내가 발견 ECC.so에서 사용할 수 없습니다 keySpec에 작동하지 않는 코드입니다 데이터 array.Thanks를 사용하여 Eccpublickey을 생성하는 나를 도울 수있다 제공 ECC에 ECPublicKeySpec을 사용하는 방법. 여기에는 좋은 설명이 있습니다. https://bitcointalk.org/index.php?topic=2899.0;wap2 감사.