2015-06-08 4 views
0

Можно ли импортировать pfx с VB.NET? Я могу с командной строкой, но это определенно не предпочтительнее.Можно ли импортировать файл pfx с помощью VB

Редактировать: Используя этот код, я не вижу свой сертификат под оснасткой mmc. Во время отладки я не получаю исключения или ошибок.

Imports System.Security.Cryptography.X509Certificates 
Module Module1 

Sub Main() 
    Try 
     My.Computer.FileSystem.WriteAllBytes(Environment.CurrentDirectory & "\client.pfx", My.Resources.client, False) 
     Dim sqlCert As New X509Certificate2(Environment.CurrentDirectory & "\client.pfx", "passwordhere") 
     Dim store As New X509Store(StoreName.My, StoreLocation.LocalMachine) 
     store.Open(OpenFlags.ReadWrite) 
     store.Add(sqlCert) 
     store.Close() 
    Catch ex As Exception 
    End Try 
End Sub 

End Module 

Я использую requireAdministrator.

Решено: изменение StoreLocation.LocalMachine до StoreLocation.CurrentUser позволило решить мою проблему.

ответ

1

Несомненно. Это класс X509Store.

Dim yourCert As New X509Certificate2("C:\YourPath\cert.pfx", "YourPfxPasswordIfAny") 
Dim store As New X509Store(StoreName.My, StoreLocation.LocalMachine) 
store.Open(OpenFlags.ReadWrite) 
store.Add(yourCert) 
store.Close() 

Вам нужно запустить программу в качестве администратора повышенного в этом примере, так как мы импортируем в LocalMachine магазин.

Все классы находятся в пространстве имен System.Security.Cryptography.X509Certificates.

+0

Привилегии не проблема. Ах, вот почему я не получил никаких результатов. Я не знал, что X509 для моей проблемы. –

+0

В соответствии с оснасткой «Сертификаты» я не вижу своего сертификата. У меня не было ошибок при отладке. –

+1

@TylerMontney, где вы ожидаете, что сертификат будет? Вышеуказанный код мы помещаем его в локальный компьютер \ Личный магазин. Когда вы смотрите в дереве MMC, сверху говорят «Текущий пользователь» или «Локальный компьютер»? – vcsjones