Autor
|
Tema: Programar tarjetero de DNIe (Leído 2,728 veces)
|
MetalJimmy
Desconectado
Mensajes: 3
|
Buenas a todos,
Me gustaría saber como puedo programar en una aplicación de escritorio (visual basic) en Visual studio 2015 un tarjetero (de teclado o externo) para que reconozca si esta conectado, reconozca el DNIe y me lea y muestre el certificado (todo en formularios diferentes pero eso es lo sencillo).
Si alguien tiene algo me gustaria que compartiesen lo que sepan.
Un saludo
|
|
|
En línea
|
|
|
|
|
MetalJimmy
Desconectado
Mensajes: 3
|
Muchas gracias aunque esas páginas ya las visité y no encuentro nada parecido a lo que necesito ya que es una aplicacion de escritorio. Tengo esto pero me da el error :Referencia a objeto no establecida como instancia de un objeto. Paso el codigo que tengo de DNIe: Private Sub viaFirmaDNIe() Dim tipofichero As TypeFile Dim tipoformatofirma As TypeFormatSign Dim arr() As Byte = File.ReadAllBytes(rutapdf) Dim signedDocument() As Byte Dim temp As New Documento ' Dim temp As String 'temp = rutapdf temp.nombre = "Documento_firmado" + ".pdf" tipofichero = 2 'es un pdf tipoformatofirma = TypeFormatSign.PAdES_BASIC temp.tipo = tipofichero temp.typeFormatSign = tipoformatofirma temp.datos = arr Dim politica As New Policy politica.typeFormatSign = tipoformatofirma politica.typeSign = TypeSign.ENVELOPED PolicyUtil.AddParameter(politica, PolicyParam.DIGITAL_SIGN_PAGE, "1") PolicyUtil.AddParameter(politica, PolicyParam.DIGITAL_SIGN_RECTANGLE, PolicyUtil.rectangleToJson(PolicyUtil.newRectangle(40, 10, 550, 75))) PolicyUtil.AddParameter(politica, PolicyParam.DIGITAL_SIGN_STAMPER_HIDE_STATUS, "true") PolicyUtil.AddParameter(politica, PolicyParam.DIGITAL_SIGN_STAMPER_TYPE, "QR-BAR-H")
PolicyUtil.AddParameter(politica, PolicyParam.FILTER_CA_NAME, "DNIe") 'para la demo si no hay actualizaciones poner la linea anterior con "FNMT" en vez de "DNIe"
Dim estadofirma As New SignStatus estadofirma = client.SignWithPolicy(politica, temp) If estadofirma.Status = "ERROR" Then Dim msginfo As New Msg_eliminar("Advertencia", "El documento no puede ser firmado. No existe lector de DNIe disponible en este momento.", 0) msginfo.ShowDialog() msginfo.Dispose() Else Dim signid As String = "" If (Not estadofirma Is Nothing) And (estadofirma.Status = SignStatus.SIGN_OK) Then signid = estadofirma.IdSign ' //resignedDocumentcupero el documento mediante su identificador signedDocument = client.GetSignedDocument(signid) If (Not signedDocument Is Nothing And signedDocument.Length > 0) Then 'aqui muestro el documento firmado 'MODIFICADO 20170213 --> lo estaba escribiendo dos veces en el HD, comento una 'DocumentUtil.OpenFile(signedDocument, "Documento_firmado.pdf") ' aqui tengo que guardarlo en la base de datos y ponerlo como firmado y fecha File.WriteAllBytes(Path.GetTempPath + "Documento_firmado.pdf", signedDocument) firmaok = True End If Else If (estadofirma.Status = (SignStatus.SIGN_CANCEL)) Then
Dim mensaje As New Msg_eliminar("Advertencia", "La firma del documento ha sido cancelada", 0) mensaje.ShowDialog() mensaje.Dispose() Else If (estadofirma.Status = (SignStatus.SIGN_ERROR)) Then
'Dim mensaje As New Msg_Info("Error", "Error en la firma" & " - " & estadofirma.ErrorMessage, 0) Dim mensaje As New Msg_eliminar("Advertencia", "El documento no ha sido firmado", 2) mensaje.ShowDialog() mensaje.Dispose() Else If (estadofirma.Status = (SignStatus.FORM_CLOSED)) Then
Dim mensaje As New Msg_eliminar("Advertencia", "El documento no ha sido firmado", 2) mensaje.ShowDialog() mensaje.Dispose() End If End If End If
End If End If End Sub
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Ok, pero una cosa es ver cómo accedr a DNIe y otra es corregir ese NullReferenceException. Para eso último, tendrás que depurar tu programa y ver qué parte te da el error, que se debe a que un objeto no lo has inicializado o no tiene valor.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Curso de DNIe
Seguridad
|
erawlam
|
2
|
2,348
|
7 Mayo 2012, 15:47 pm
por erawlam
|
|
|
El sainete del DNIe
Noticias
|
wolfbcn
|
0
|
1,314
|
29 Octubre 2014, 15:06 pm
por wolfbcn
|
|
|
DNIe 3.0 ¿Por qué es tan difícil?
Noticias
|
wolfbcn
|
0
|
1,507
|
20 Octubre 2017, 14:17 pm
por wolfbcn
|
|
|
DNIe 3.0 ¿Por qué es tan difícil?
Noticias
|
wolfbcn
|
1
|
1,458
|
25 Mayo 2018, 17:34 pm
por Serapis
|
|
|
DNIe 3.0 ¿Por qué es tan difícil?
Noticias
|
wolfbcn
|
1
|
1,091
|
5 Octubre 2018, 17:16 pm
por Serapis
|
|