Mega Code Archive

 
Categories / VB.Net / Security
 

Use the AsnEncodedDataCollection class

Imports System Imports System.Security.Cryptography Imports System.Security.Cryptography.X509Certificates Class MainClass    Shared Sub Main()       Dim store As New X509Store("MY", StoreLocation.CurrentUser)       store.Open((OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly))       Dim collection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)       Dim fcollection As X509Certificate2Collection = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False), X509Certificate2Collection)         Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(fcollection, "Certificate Select", "Select certificates from the following list to get extension information on that certificate", X509SelectionFlag.MultiSelection)       Dim asncoll As New AsnEncodedDataCollection()       Dim i As Integer       For i = 0 To scollection.Count - 1           Console.WriteLine(scollection(i).GetName())           Dim extension As X509Extension           For Each extension In  scollection(i).Extensions               Dim asndata As New AsnEncodedData(extension.Oid, extension.RawData)               Console.WriteLine("Extension type: " & extension.Oid.FriendlyName)               Console.WriteLine("Oid value: " & asndata.Oid.Value )               Console.WriteLine("Raw data length: " & asndata.RawData.Length)               Console.WriteLine(asndata.Format(True))                asncoll.Add(asndata)           Next extension       Next i       Console.WriteLine("Number of AsnEncodedData items in the collection: " & asncoll.Count)       store.Close()    End Sub End Class