1
문자열에서 RSA 공개 키를 만들려고합니다. 나는 아래에 언급 된 예외를 얻는다. Android에서 생성 된 키 (문자열, Swift 사용)를 확인하려고합니다. 문자열을 개인/공개 키로 변환하는 방법은 무엇입니까? IOS에서Android : InvalidKeySpecException : 인코딩 된 키 사양이 인식되지 않습니다.
static PublicKey getRSAPublicKeyFromString (String publicKeyPEM){
try {
KeyFactory keyFactory = KeyFactory.getInstance("RSA", "SC");
byte[] publicKeyBytes = Base64.decode(publicKeyPEM.getBytes("UTF-8"), Base64.DEFAULT);
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(publicKeyBytes);
return keyFactory.generatePublic(x509KeySpec);
}catch (Exception e){
e.printStackTrace();
}
return null;
}
예외
java.security.spec.InvalidKeySpecException: encoded key spec not recognised
at org.spongycastle.jcajce.provider.asymmetric.util.BaseKeyFactorySpi.engineGeneratePublic(BaseKeyFactorySpi.java:52)
at org.spongycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi.engineGeneratePublic(KeyFactorySpi.java:130)
at java.security.KeyFactory.generatePublic(KeyFactory.java:172)
공개 키 :
MIGJAoGBAOibWF15OhLJQAWpQN++UFqyG+2uLEG8PPvCajwwh6FWi6jLiZ9VN+l3JpiJTQwF/yxlSJCZCoYnljKeRBnNxpzBnuTJsyuZ4hI8ehLzDvh9nYzX/TlcZYVshJzyIVRZAbuFOCLNIltjB+Qmw8YGlxzeDSFaB6eEC1OP49hDakURAgMBAAE=
나는이 문제에 능통 아니에요 다음 Bouncycastle 라이브러리를 사용하여
는, 여기 RSAPublicKey을 생산하는 몇 가지 예제 코드입니다. 내 공기를 고치는 아이디어를 줄 수 있니? –
고맙습니다, pkcs # 1로 공개/개인 키를 생성하는 방법을 보여 주시겠습니까? –