新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

android获取公钥的有什么方法,Android获取公钥

发布时间:2024-05-23 16:10:15

android获得公钥的有甚么方法

在Android中获得公钥的方法有以下几种:

  1. 通过KeyStore获得:Android提供了KeyStore类来管理密钥和证书。可使用KeyStore来获得已存储的公钥。以下是一个示例代码:
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
Certificate cert = keyStore.getCertificate(alias);
PublicKey publicKey = cert.getPublicKey();
  1. 通过文件获得:如果有公钥的PEM文件或其他格式的文件,可使用相应的类来读取文件并获得公钥。以下是一个示例代码:
String publicKeyStr = "-----BEGIN PUBLIC KEY-----
" +
        "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3r3A8C1M8tY7f0zYVjFy
" +
        "lQIDAQAB
" +
        "-----END PUBLIC KEY-----";
byte[] publicKeyBytes = Base64.decode(publicKeyStr, Base64.DEFAULT);
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(spec);
  1. 通过URL获得:如果公钥存储在远程服务器上,可以通过URL获得公钥。以下是一个示例代码:
URL url = new URL("http://example.com/publicKey.pem");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream inputStream = conn.getInputStream();
byte[] publicKeyBytes = new byte[inputStream.available()];
inputStream.read(publicKeyBytes);
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(spec);

这些方法可以根据具体的情况选择适合的方式来获得公钥。