別のアプリから自分のアプリの証明書ストアにアクセスしたいと考えています。私はすでにファイルで有効"sharedusercertificates"
にしていpackage.appmanifest
ます。
Windows.Storage.StorageFile selectedCertFile = await folder.GetFileAsync(fileName);
IBuffer buffer = await FileIO.ReadBufferAsync(selectedCertFile);
string certificateData = CryptographicBuffer.EncodeToBase64String(buffer);
string password = "password";
await CertificateEnrollmentManager.ImportPfxDataAsync(
certificateData,
password,
ExportOption.NotExportable,
KeyProtectionLevel.ConsentWithPassword,
InstallOptions.None,
selectedCertFile.DisplayName);
私自身のアプリでは、インストールされている証明書を問題なく一覧表示できます。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var task = CertificateStores.FindAllAsync();
task.AsTask().Wait();
var certlist = task.GetResults();
Debug.WriteLine("Cert count: {0}", certlist.Count);
LoadCertList(certlist);
}
private void LoadCertList(IReadOnlyList<Certificate> certificateList)
{
listbox1.Items.Clear();
foreach (Certificate cert in certificateList)
{
listbox1.Items.Add(cert.Subject);
}
}
別のアプリからそれらにアクセスしようとすると、リストされません。Windows Phone 8.1 のメール クライアント設定にも、インストールされている証明書がありません。プログラムではなく、定期的にインストールされた証明書が一覧表示されます。
カスタム証明書をシステムの証明書ストアにインストールする方法はありますか? そのため、他のアプリで使用できます。
何日もウェブを検索してきましたが、解決策が見つかりませんでした。
これにより、それが可能になるはずです。
「sharedUserCertificates 機能は、アプリ コンテナーに、すべてのユーザー ストアとスマート カードの信頼されたルート ストアに含まれる証明書とキーへの読み取りアクセスを許可します。」 https://msdn.microsoft.com/en-us/library/windows/apps/hh465025 .aspx
私は何か見落としてますか?助けていただければ幸いです。
ディノ