From c96c93eef3c70fa293858c2ea427db1c073cf7e5 Mon Sep 17 00:00:00 2001 From: LazyDeus Date: Wed, 2 Oct 2024 11:54:21 +0800 Subject: [PATCH] Fix problems with arguments, update dependencies --- .gitignore | 3 ++- README.md | 2 +- go.mod | 2 +- go.sum | 10 ++++++++++ src/main.go | 56 ++++++++++++++++++++++++++++------------------------- 5 files changed, 44 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 93b78b1..10cb5cf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ bin/ README.pdf data.csv -certs/ \ No newline at end of file +certs/ +src/logger.log \ No newline at end of file diff --git a/README.md b/README.md index f65da4f..d0ba536 100644 --- a/README.md +++ b/README.md @@ -75,4 +75,4 @@ Flags: ### Поддержка проекта Если вы обнаружили ошибку или хотите предложить идею для улучшения проекта, создайте issue. -Если у вас есть возможность и желание внести улучшения в проект, отправляйте pull request. \ No newline at end of file +Если у вас есть возможность и желание внести улучшения в проект, отправляйте pull request. diff --git a/go.mod b/go.mod index f88c679..c1e6e0c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module lazydeus/CryptoMassInstall go 1.20 require ( - github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240909055958-21c4e359abc0 // indirect + github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240920133223-9d4223a17f4d // indirect github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1 // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/otiai10/copy v1.14.0 // indirect diff --git a/go.sum b/go.sum index 5cf4de8..b9a2e30 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240906041510-43996bc8fa87 h1: github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240906041510-43996bc8fa87/go.mod h1:u3GJFQjJZ7lfZv/guG3cnAISW6Ua9B7dOhBYCErEXXA= github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240909055958-21c4e359abc0 h1:pYZfnMkV+M6zSfkWVZL9qYvLqVFQIQCE1ZJvBMYT1EI= github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240909055958-21c4e359abc0/go.mod h1:u3GJFQjJZ7lfZv/guG3cnAISW6Ua9B7dOhBYCErEXXA= +github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240920133223-9d4223a17f4d h1:0ARW1BVvRrdRAlroy0S8fpMyju9jMtBwpbJv6l/Bwno= +github.com/Demetrous-fd/CryptoPro-Adapter v0.0.0-20240920133223-9d4223a17f4d/go.mod h1:u3GJFQjJZ7lfZv/guG3cnAISW6Ua9B7dOhBYCErEXXA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1 h1:FWNFq4fM1wPfcK40yHE5UO3RUdSNPaBC+j3PokzA6OQ= @@ -32,6 +34,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -42,6 +46,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -49,11 +55,15 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +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= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= diff --git a/src/main.go b/src/main.go index 0832fee..66ceae0 100644 --- a/src/main.go +++ b/src/main.go @@ -14,17 +14,20 @@ import ( ) var ( - versionFlag *bool - debugFlag *bool - waitFlag *bool - containerPathArg *string - containerNameArg *string - certificatePathArg *string - pfxPasswordArg *string - pfxLocationArg *string - containerExportableArg *bool - installFlagSet *flag.FlagSet - exporterFlagSet *flag.FlagSet + versionFlag *bool + debugFlag *bool + waitFlag *bool + containerPathInstallArg *string + containerPathExportArg *string + containerNameInstallArg *string + containerNameExportArg *string + certificatePathArg *string + pfxPasswordInstallArg *string + pfxPasswordExportArg *string + pfxLocationArg *string + containerExportableArg *bool + installFlagSet *flag.FlagSet + exporterFlagSet *flag.FlagSet ) func init() { @@ -36,16 +39,16 @@ func init() { installFlagSet = flag.NewFlagSet("install", flag.ExitOnError) installFlagSet.Usage = installHelpUsage - containerPathArg = installFlagSet.String("cont", "", "[Требуется] Путь до pfx/папки контейнера") + containerPathInstallArg = installFlagSet.String("cont", "", "[Требуется] Путь до pfx/папки контейнера") certificatePathArg = installFlagSet.String("cert", "", "[Требуется] Путь до файла сертификата") - containerNameArg = installFlagSet.String("name", "", "Название контейнера") - pfxPasswordArg = installFlagSet.String("pfx_pass", "", "Пароль от pfx контейнера") + containerNameInstallArg = installFlagSet.String("name", "", "Название контейнера") + pfxPasswordInstallArg = installFlagSet.String("pfx_pass", "", "Пароль от pfx контейнера") exporterFlagSet = flag.NewFlagSet("export", flag.ExitOnError) exporterFlagSet.Usage = exporterHelpUsage - containerPathArg = exporterFlagSet.String("cont", "", "[Требуется] Название контейнера или путь до папки") - containerNameArg = exporterFlagSet.String("name", "", "Название контейнера") - pfxPasswordArg = exporterFlagSet.String("pass", "", "Пароль от pfx контейнера") + containerPathExportArg = exporterFlagSet.String("cont", "", "[Требуется] Название контейнера или путь до папки") + containerNameExportArg = exporterFlagSet.String("name", "", "Название контейнера") + pfxPasswordExportArg = exporterFlagSet.String("pass", "", "Пароль от pfx контейнера") pfxLocationArg = exporterFlagSet.String("o", "", "Путь до нового pfx контейнера") } @@ -59,17 +62,18 @@ func main() { flagArgs := flag.Args() if len(flagArgs) > 1 { cmd := flagArgs[0] + args := flagArgs[1:] switch cmd { case "install": - installFlagSet.Parse(flagArgs[1:]) + installFlagSet.Parse(args) case "export": - exporterFlagSet.Parse(flagArgs[1:]) + exporterFlagSet.Parse(args) default: } } if *versionFlag { - fmt.Println("Mass version 1.2.0") + fmt.Println("Mass version 1.2.1") fmt.Println("Repository: https://github.com/Demetrous-fd/CryptoPro-Mass-Installer") fmt.Println("Maintainer: Lazydeus (Demetrous-fd)") return @@ -119,9 +123,9 @@ func main() { // Parsing subcommand flags if slices.Contains(flagArgs, "export") { exportParams := &ExportContainerParams{ - ContainerPath: *containerPathArg, - ContainerName: *containerNameArg, - PfxPassword: *pfxPasswordArg, + ContainerPath: *containerPathExportArg, + ContainerName: *containerNameExportArg, + PfxPassword: *pfxPasswordExportArg, PfxLocation: *pfxLocationArg, } err := exportContainerToPfxCLI(certPath, rootContainersFolder, exportParams) @@ -133,10 +137,10 @@ func main() { } else if slices.Contains(flagArgs, "install") { installParams := &ESignatureInstallParams{ - ContainerPath: *containerPathArg, - ContainerName: *containerNameArg, + ContainerPath: *containerPathInstallArg, + ContainerName: *containerNameInstallArg, CertificatePath: *certificatePathArg, - PfxPassword: *pfxPasswordArg, + PfxPassword: *pfxPasswordInstallArg, Exportable: *containerExportableArg, } err := installESignatureCLI(certPath, rootContainersFolder, installParams, false)