diff --git a/go.mod b/go.mod index 2a6f17d..0f51aa2 100644 --- a/go.mod +++ b/go.mod @@ -4,13 +4,13 @@ go 1.22.1 require ( github.com/dumacp/smartcard v0.1.5 - github.com/gmrtd/gmrtd v0.0.0-20240812161507-951402263c99 + github.com/gmrtd/gmrtd v0.0.0-20240904141034-29e98b034604 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c ) require ( github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1 // indirect - github.com/ebfe/brainpool v0.0.0-20130314170211-492e4d960f63 // indirect github.com/ebfe/scard v0.0.0-20230420082256-7db3f9b7c8a7 // indirect - golang.org/x/sys v0.24.0 // indirect + github.com/osanderson/brainpool v0.0.0-20240902133831-007b606d9412 // indirect + golang.org/x/sys v0.25.0 // indirect ) diff --git a/go.sum b/go.sum index 7755227..1bf4d01 100644 --- a/go.sum +++ b/go.sum @@ -1,72 +1,17 @@ github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1 h1:+JkXLHME8vLJafGhOH4aoV2Iu8bR55nU6iKMVfYVLjY= github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1/go.mod h1:nuudZmJhzWtx2212z+pkuy7B6nkBqa+xwNXZHL1j8cg= -github.com/dumacp/smartcard v0.1.4 h1:NhMOxixcv0fzvtLSMRHGdL6RD6pnVajjhccyxMieUI4= -github.com/dumacp/smartcard v0.1.4/go.mod h1:qLQLuYHKbY97/VydBGf/JfGkgHw9OgRdOppcd5J7UGw= github.com/dumacp/smartcard v0.1.5 h1:5dEvpz0wkJRKtM/qfvQQzEdD3vS8czJqiVr2LPlC32c= github.com/dumacp/smartcard v0.1.5/go.mod h1:qLQLuYHKbY97/VydBGf/JfGkgHw9OgRdOppcd5J7UGw= -github.com/ebfe/brainpool v0.0.0-20130314170211-492e4d960f63 h1:SgffrhTmRVa2og8dfLHmZizJvSZ5Sm28jQUHuD+/x7Y= -github.com/ebfe/brainpool v0.0.0-20130314170211-492e4d960f63/go.mod h1:/t8YeteVG5vsrG4X4wBPLBhru5JdXpHR9EwW0xMb3mE= github.com/ebfe/scard v0.0.0-20230420082256-7db3f9b7c8a7 h1:HYAhfGa9dEemCZgGZWL5AvVsctBCsHxl2CI0HUXzHQE= github.com/ebfe/scard v0.0.0-20230420082256-7db3f9b7c8a7/go.mod h1:BkYEeWL6FbT4Ek+TcOBnPzEKnL7kOq2g19tTQXkorHY= -github.com/gmrtd/gmrtd v0.0.0-20240405152936-63fab31c815f h1:0o6qzbTtZfVpD2UOMessWdayWG2ergCMuD6HSMITvv4= -github.com/gmrtd/gmrtd v0.0.0-20240405152936-63fab31c815f/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240405161442-8a3e7e8677f8 h1:1570Evh2NxbEMrwDaT671D5pVjvLmxTtolhq3xjc55E= -github.com/gmrtd/gmrtd v0.0.0-20240405161442-8a3e7e8677f8/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240407093851-f37294d32b71 h1:IfIWg4RV4mZyRZj6VtByK1OPqbReIProVICQslv3IIA= -github.com/gmrtd/gmrtd v0.0.0-20240407093851-f37294d32b71/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240414144323-3a4856fad335 h1:qLmQlW8fTnJo4o8Si3USS3os9a2tPjl6u0PIXxUcdLA= -github.com/gmrtd/gmrtd v0.0.0-20240414144323-3a4856fad335/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240416122728-a80533447cc3 h1:b1+ihgFHjj7LKG5Xm8biotz5ovQ1yqNtMds1EhZt6MM= -github.com/gmrtd/gmrtd v0.0.0-20240416122728-a80533447cc3/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240417133933-add66ae6d72c h1:WpQkKCaHRB4OeF+YKqqcqlXL0M9q5+vYkoOMjMqSIIw= -github.com/gmrtd/gmrtd v0.0.0-20240417133933-add66ae6d72c/go.mod h1:GOsa+sinL9/Tu1I7V+wpgwvOUiptDyCeGNeEG3hwcwk= -github.com/gmrtd/gmrtd v0.0.0-20240420132136-f5aaf8706f4a h1:VKKNNuQKrTSzM5XlyI8mb1V9wZu3IWRVkH5Jm6cDwBk= -github.com/gmrtd/gmrtd v0.0.0-20240420132136-f5aaf8706f4a/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240420155629-331da7faa4b0 h1:EFq0pJ/EIIUCglUOAR69dFsFW+Op/Lukllah20WGU4g= -github.com/gmrtd/gmrtd v0.0.0-20240420155629-331da7faa4b0/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240421094028-e8094cc2ae2e h1:DhmVz2l5vzmIkprJxUrEquqrrugvhdE+ppsmoIklxbU= -github.com/gmrtd/gmrtd v0.0.0-20240421094028-e8094cc2ae2e/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240421152139-a06a98e49768 h1:ifnCGwaEreIlt3IjyO/b3J6D43PeiCYqcYNHlgcqi0w= -github.com/gmrtd/gmrtd v0.0.0-20240421152139-a06a98e49768/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240422144559-504c7af9da21 h1:+ovduf1m/bR9vWE3oDdTglJLug+STe8SgQNPcAZD3A0= -github.com/gmrtd/gmrtd v0.0.0-20240422144559-504c7af9da21/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240423110627-e0a48bbd4812 h1:WP0ABmIG5rvA+9nLnnKh3vg8+XNXcIdf0i9PobYA9Kc= -github.com/gmrtd/gmrtd v0.0.0-20240423110627-e0a48bbd4812/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240423135946-c718f3b2c6c6 h1:9OamUX9QNShjFWXuJJ68O9dZp91eBSAnZj6e6gPW8Sk= -github.com/gmrtd/gmrtd v0.0.0-20240423135946-c718f3b2c6c6/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240423160920-925ecae16ce6 h1:49RY5Yx9F/8H+HJYl17EXOo1JtceinXOkE9btTw5ZtE= -github.com/gmrtd/gmrtd v0.0.0-20240423160920-925ecae16ce6/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240424125026-e3722c5d1512 h1:xuyL2JZGCrpmgl13E+jSexi9n4qy7eCOCvu3yBnS+/s= -github.com/gmrtd/gmrtd v0.0.0-20240424125026-e3722c5d1512/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240425142544-3b2bed83b4e6 h1:HFXD/S0nyWrIp+GFAWafY4bAt3OE87Rs1XsPzKvL/qM= -github.com/gmrtd/gmrtd v0.0.0-20240425142544-3b2bed83b4e6/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240630033517-2a49d86315b9 h1:QwIjDTm4KNCrVtK3PHfiuNvopc7M9hS4UxQ9xdIslq0= -github.com/gmrtd/gmrtd v0.0.0-20240630033517-2a49d86315b9/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240714160803-273738c15e41 h1:YQmQp/Z40gcmUYxJtriJBJzVHzd/LePfxy54S7+ib/A= -github.com/gmrtd/gmrtd v0.0.0-20240714160803-273738c15e41/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240716155539-7d90ae6935fe h1:osFAkpALxsJXxJM9CSCxWA0H0ZnqP9zPpSGlhgFxq58= -github.com/gmrtd/gmrtd v0.0.0-20240716155539-7d90ae6935fe/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240728164422-a891b1ba3b10 h1:0wMfAakZQP/gmMQ1DLNTBfJg7NdYEWFwpOcSECQrK28= -github.com/gmrtd/gmrtd v0.0.0-20240728164422-a891b1ba3b10/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240804105150-bb2da7795fd1 h1:Pumd+JbYJyJTj0knWemJijqLVSSYZnZqnRmSDMq1V4s= -github.com/gmrtd/gmrtd v0.0.0-20240804105150-bb2da7795fd1/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240804150410-ad0942f9038e h1:PX7/escpY+Bq7puicat5ziarFHyMoYIn6G065PRhvPg= -github.com/gmrtd/gmrtd v0.0.0-20240804150410-ad0942f9038e/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240804154717-fe91101179fb h1:vEgi9ZC09u43/ZbfnMRkuBXWQdYNCySrdZ5adaQ3gk0= -github.com/gmrtd/gmrtd v0.0.0-20240804154717-fe91101179fb/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240812125037-707ec1f31f2c h1:3HD2ccGSRptMuaahEU51pyxolfd24ywJwG8KjmMLrss= -github.com/gmrtd/gmrtd v0.0.0-20240812125037-707ec1f31f2c/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= -github.com/gmrtd/gmrtd v0.0.0-20240812161507-951402263c99 h1:YdNOeak+iphgZqglCtrZU3wK9SU3XOFtYX8WYmVsUY4= -github.com/gmrtd/gmrtd v0.0.0-20240812161507-951402263c99/go.mod h1:yMi0ExfvEj/Tb1LZ1dfAyGe7ZVuv6kasax77Oj6HD8I= +github.com/gmrtd/gmrtd v0.0.0-20240903164113-62f06ef27733 h1:ntNWCqS6KTABGmiQQhSKgDTE1UyKg7BOxiRuGmsCQdU= +github.com/gmrtd/gmrtd v0.0.0-20240903164113-62f06ef27733/go.mod h1:4nNdq1hzi13Xe/YS6S+W8FOaCYdCu6a/6+U8bZeUPXQ= +github.com/gmrtd/gmrtd v0.0.0-20240904141034-29e98b034604 h1:o6WnWzto2iHl8tGWogy2i0CvmYwHOxennt9ZPvYyId0= +github.com/gmrtd/gmrtd v0.0.0-20240904141034-29e98b034604/go.mod h1:4nNdq1hzi13Xe/YS6S+W8FOaCYdCu6a/6+U8bZeUPXQ= +github.com/osanderson/brainpool v0.0.0-20240902133831-007b606d9412 h1:tB1lzcw4iTpErf0TOKINVm+Xkwyr67BRIaeXhUm4dNQ= +github.com/osanderson/brainpool v0.0.0-20240902133831-007b606d9412/go.mod h1:LUYLv8+wgWKKP+MZcvXJ+BkQlpakINAEAMOwG9OL66Y= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/main.go b/main.go index 7e83ceb..5072268 100644 --- a/main.go +++ b/main.go @@ -24,14 +24,14 @@ type PCSCTransceiver struct { card pcsc.Card } -func (transceiver *PCSCTransceiver) Transceive(cApdu []byte) (rApduBytes []byte) { - rApduBytes, err := transceiver.card.Apdu(cApdu) +func (transceiver *PCSCTransceiver) Transceive(cla int, ins int, p1 int, p2 int, data []byte, le int, encodedData []byte) (rApduBytes []byte) { + rApduBytes, err := transceiver.card.Apdu(encodedData) if err != nil { slog.Error("Transceive", "error", err) return } - slog.Debug("Transceive", "cApdu", utils.BytesToHex(cApdu), "rApdu", utils.BytesToHex(rApduBytes)) + slog.Debug("Transceive", "cApdu", utils.BytesToHex(encodedData), "rApdu", utils.BytesToHex(rApduBytes)) return } @@ -118,7 +118,6 @@ func initLogging(debug bool) { } func main() { - var pass *password.Password var debug bool = false var maxRead uint = 0