【问题标题】:Password verification of PKCS12 file failedPKCS12 文件密码验证失败
【发布时间】:2012-01-27 13:15:45
【问题描述】:

我的代码是:

   FILE * fp = fopen(inputdata, "r");
   PKCS12 * p12 = d2i_PKCS12_fp(fp, NULL);

    if (p12 == NULL)
    {
         NSLog(@"Error loading PKCS12 file to p12 \n"); 
    }
    if ((ret = PKCS12_verify_mac(p12,"tcs",3))){
        lblmsg.text = @"password validated"; 
        NSLog(@"Password validated %s",ppvc_pfxPassPhrase);
    }
    NSLog(@"ret value %d",ret);

我可以将文件加载到 p12,但无法验证 PKCS12 文件。 PKCS12_verify_mac 的返回值是 0。

为什么返回 0?

【问题讨论】:

    标签: objective-c openssl pkcs#12


    【解决方案1】:

    尝试使用ERR_print_errors 找出原因。示例:

    ret = PKCS12_verify_mac(p12, "tcs", 3);
    if (ret == 0) {
        ERR_print_errors(stderr);
        // Abort?
    } else {
        lblmsg.text = @"password validated"; 
        NSLog(@"Password validated %s",ppvc_pfxPassPhrase);
    }
    

    【讨论】:

    • 嗨@Jweyrich,当我打印错误时,这是​​未知的算法异常。所以我添加了“OpenSSL_add_all_algorithms();”我添加它来加载所有算法并修复它,现在它已验证并返回 1 ... :) 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2015-04-19
    • 2017-04-03
    • 2016-05-27
    • 2017-11-09
    • 1970-01-01
    • 2022-08-15
    • 2021-02-28
    相关资源
    最近更新 更多