パスフレーズセットが空のp12に秘密鍵があります。 OS XまたはiOSでSecPKCS12Import
を使用してこの秘密鍵をインポートしようとすると、エラーが発生します(Windowsの場合と同じ)。無価値 SecPKCS12 p12が空のパスフレーズを要求するときのインポート
optionsDictionary
と
optionsDictionary = NULL
optionsDictionary
を@""
値とキーkSecImportExportPassphrase
のためにそれは常に:パスワードが空のとき、私はさまざまな組み合わせを試してみた
- (NSError *)setClientIdentityCertificateFromPKCS12Data: (NSData *)PKCS12Data withPassword: (NSString *)password
{
OSStatus securityError = errSecSuccess;
const void *keys[] = { kSecImportExportPassphrase };
const void *values[] = { (__bridge CFStringRef)password };
CFDictionaryRef optionsDictionary = NULL;
optionsDictionary = CFDictionaryCreate(
NULL, keys,
values, (password?1:0),
NULL, NULL);
CFArrayRef items = NULL;
securityError = SecPKCS12Import((__bridge CFDataRef)PKCS12Data,
optionsDictionary,
&items);
〜で終わるsecurityError
はerrSecSuccess
と等しくない。それぞれ:
securityError=-25260
"インポート/エクスポートにはパスフレーズが必要です。"securityError=-25260
"インポート/エクスポートにはパスフレーズが必要です。"securityError=-25264
"MAC検証がPKCS12インポート中に失敗した(間違ったパスワード?)"
今、私はそれが動作しないことを[OK]をです。私は、パスワードなしでp12
がセキュリティ上の脅威であることを理解していますが、これがうまくいかない理由であれば、私はそれを述べる文書が必要です。 私は今まで運がなかったことをGoogleに試みました。
このファイルを同じ結果(無効なパスワード)でOS X Keychainアプリケーションにインポートしようとしましたので、これはSecPKCS12Import
の問題である必要があります。
また、この問題を解決する方法がありますか?