iPhone/iPad で生成された公開鍵を Java ベースのサーバーまたは Android デバイスと共有したいと考えています。Java 側 (サーバーまたは Android)では、iOS で (SecKeyRef のもの)を使用java.securityしたいと思います。libcommonCrypto
これら 2 つのプラットフォーム間の公開鍵の交換を除いて、すべてが機能しています。を使用SecItemCopyMatchingすることで、Apple 以外ではサポートされていない形式にのみ公開鍵をエクスポートできます。Java を使用すると、公開鍵を X509 証明書 ( 経由java.security.X509EncodedKeySpec) またはモジュールと指数 ( 経由java.security.RSAPublicKeySpec) としてロードできます。
SecKeyRefここで、X509証明書としてエクスポートする方法、または(より簡単な解決策だと思います)モジュールと指数を取得する方法を知る必要があります。そして、私は後ろ向きの道も必要です。
SecKeyRefからロードされ、 BASE64 にエンコードされた公開鍵のサンプルを次に示します。
MIGJAoGBAMYgXP6rvD/Y8F0VQE0HvxpVnnOxXYl5TDlOfW/leyrCLWGWg9Jp+Tl9dYvK/zWgNpoEfFzMVRpUk9UHcIaDWHW3g0BpS2MVC3Vs/0e2eu6S2WMGHpzqcJB51jJRbnqXQ23nVKC2YE520Po3EvFyTr8MlFJqTCJrovgc7fze4RI5AgMBAAE=