2011-12-25 13 views
1

私のコードを失敗です:パスワードの検証が

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に戻っていますか?

答えて

2

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); 
} 
+4

こんにちは@Jweyrich、 私はエラーを印刷するとき、それは未知のアルゴリズム例外でした。そこで、私は "OpenSSL_add_all_algorithms();"を追加しました。私はこれを追加してすべてのアルゴリズムをロードし、修正しました。 – chetan

関連する問題