5

我在使用 CommonCrypto 的 Objective C 中使用 JWK 格式的公共 EC 密钥时遇到问题。

我有一个 java 示例,说明我在 Objective C 中似乎无法执行的操作。这是从https://static.javadoc.io/com.nimbusds/nimbus-jose-jwt/2.24/的 Nimbus Jose JWT 库中提取的src-html/com/nimbusds/jose/jwk/ECKey.Curve.html

public ECPublicKey toECPublicKey() throws NoSuchAlgorithmException, InvalidKeySpecException {

    ECParameterSpec spec = crv.toECParameterSpec();

    if (spec == null) {
        throw new NoSuchAlgorithmException("Couldn't get EC parameter spec for curve " + crv);
    }

    ECPoint w = new ECPoint(x.decodeToBigInteger(), y.decodeToBigInteger());
    ECPublicKeySpec publicKeySpec = new ECPublicKeySpec(w, spec);
    KeyFactory keyFactory = getECKeyFactory();
    return (ECPublicKey)keyFactory.generatePublic(publicKeySpec);
}

我找不到如何在 Objective C 中实现这一点,因为 CommonCrypto 似乎缺乏 JWK 支持。有谁知道如何从曲线的 x 和 y 值将对方的 JWK 密钥转换为可读格式(.pem、SecKeyRef 或 NSData)?

4

0 回答 0