C sharp - Leer firma digital de etoken pro usb

 
Vista:

Leer firma digital de etoken pro usb

Publicado por ACM (13 intervenciones) el 16/09/2012 20:51:41
Hola amigos

Me estoy introduciendo a lo que es la firma digital avanzada, hay muy poca informacion en la red, la pregunta es como rescatar los datos del dispositivo etoken pro usb, para poder firmar xml por mi aplicacion en c sharp.

algun link o ejmplo

gracias

Acm.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Leer firma digital de etoken pro usb

Publicado por Walter (16 intervenciones) el 03/09/2014 08:18:57
Con este código lo que hace es te detecta que un USB este enchufado al sacarlo podes cerrar la aplicación. También podes validar con claves encriptadas tipo Triples DES o MD5

' USB DEVICE DETECTION BELOW:
'========================================================================================================================

Private WithEvents m_MediaConnectWatcher As ManagementEventWatcher

Public Sub StartDetection()
' __InstanceOperationEvent will trap both Creation and Deletion of class instances
Dim query2 As String = "SELECT * FROM __InstanceOperationEvent WITHIN 10 WHERE TargetInstance ISA ""Win32_DiskDrive"""
m_MediaConnectWatcher = New ManagementEventWatcher(query2)
m_MediaConnectWatcher.Start()
End Sub


Private Sub Arrived(ByVal sender As Object, ByVal e As System.Management.EventArrivedEventArgs) Handles m_MediaConnectWatcher.EventArrived

Dim mbo, obj As ManagementBaseObject

' the first thing we have to do is figure out if this is a creation or deletion event
mbo = CType(e.NewEvent, ManagementBaseObject)
' next we need a copy of the instance that was either created or deleted
obj = CType(mbo("TargetInstance"), ManagementBaseObject)

Select Case mbo.ClassPath.ClassName
Case "__InstanceCreationEvent"
If obj("InterfaceType") = "USB" Then
MsgBox(obj("Caption") & " (Drive letter " & GetDriveLetterFromDisk(obj("Name")) & ") has been plugged in")
Else
MsgBox(obj("InterfaceType"))
End If
Case "__InstanceDeletionEvent"
If obj("InterfaceType") = "USB" Then
MsgBox(obj("Caption") & " has been unplugged")
If obj("Caption") = USBDriveName Then
USBDriveLetter = ""
USBDriveName = ""
End If
Else
MsgBox(obj("InterfaceType"))
End If
Case Else
MsgBox("nope: " & obj("Caption"))
End Select
End Sub

Private Function GetDriveLetterFromDisk(ByVal Name As String) As String
Dim oq_part, oq_disk As ObjectQuery
Dim mos_part, mos_disk As ManagementObjectSearcher
Dim obj_part, obj_disk As ManagementObject
Dim ans As String

' WMI queries use the "\" as an escape charcter
Name = Replace(Name, "\", "\\")

' First we map the Win32_DiskDrive instance with the association called
' Win32_DiskDriveToDiskPartition. Then we map the Win23_DiskPartion
' instance with the assocation called Win32_LogicalDiskToPartition

oq_part = New ObjectQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & Name & """} WHERE AssocClass = Win32_DiskDriveToDiskPartition")
mos_part = New ManagementObjectSearcher(oq_part)
For Each obj_part In mos_part.Get()

oq_disk = New ObjectQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & obj_part("DeviceID") & """} WHERE AssocClass = Win32_LogicalDiskToPartition")
mos_disk = New ManagementObjectSearcher(oq_disk)
For Each obj_disk In mos_disk.Get()
ans &= obj_disk("Name") & ","
Next
Next

Return ans.Trim(","c)
End Function

------------------------------------------------------------------------------------------------------------------

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_DEVICECHANGE Then ' Detect CD
If (m.WParam.ToInt32() = DBT_DEVICEREMOVECOMPLETE) Then
MsgBox("CD Removal Complete!")
ElseIf (m.WParam.ToInt32() = DBT_DEVICEARRIVAL) Then
MsgBox("CD Now Avaiable!")
End If
Else
MyBase.WndProc(m)
End If
End Sub

Espero que te sirva Walter.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar