你好,通过你说的编译后导入openssl.framework文件,然后手动导入GMObjC,正常情况下是没事的,但是当我们集成BaiduMapKit之后,会报错,请问这该怎样解决呢?QQ:1587557282。麻烦加我一下qq吧,有些问题想请教。
///MARK: - 创建公私钥对
+ (NSArray<NSString *> *)createKeyPair{
NSArray<NSString *> *keyArray = @[@"", @""];
EC_GROUP *group = EC_GROUP_new_by_curve_name(NID_sm2); // 椭圆曲线
EC_KEY *key = NULL; // 密钥对
do {
key = EC_KEY_new();
if (!EC_KEY_set_group(key, group)) {
break;
}
if (!EC_KEY_generate_key(key)) {
break;
}
const EC_POINT *pub_key = EC_KEY_get0_public_key(key);
const BIGNUM *pri_key = EC_KEY_get0_private_key(key);
char *hex_pub = EC_POINT_point2hex(group, pub_key, EC_KEY_get_conv_form(key), NULL);
char *hex_pri = BN_bn2hex(pri_key);
NSString *pubHex = [NSString stringWithCString:hex_pub encoding:NSUTF8StringEncoding];
NSString *priHex = [NSString stringWithCString:hex_pri encoding:NSUTF8StringEncoding];
if (pubHex.length > 0 && priHex.length > 0) {
NSString *priHexWithPadding = [self bnToHexPadding:priHex];
keyArray = @[pubHex, priHexWithPadding];
}
OPENSSL_free(hex_pub);
OPENSSL_free(hex_pri);
} while (NO);
if (group != NULL) EC_GROUP_free(group);
EC_KEY_free(key);
return keyArray;
}