首页 > 其他分享 >终于解决了.net在线客服系统总是被360误报的问题(对软件进行数字签名)

终于解决了.net在线客服系统总是被360误报的问题(对软件进行数字签名)

时间:2024-12-02 10:24:13浏览次数:5  
标签:exe 证书 数字签名 签名 软件 net 360

升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。

背景

我在业余时间开发的这个客服系统,有一个问题始终让我饱受困扰,360以及各种国产安全管家十分容易报威胁。即便ESET、卡巴斯基、Windows Defender、小红伞全部一切正常,但360、国产管家就是倔强的报威胁。而这些国产管家的用户基数又很大,非常让人恼火。难道真的必须交保护费吗?

经过长时间的尝试和测试,终于在一定程度上缓解了这个问题(还不敢保证不会再报,继续观察)。

对软件进行数字签名

如果软件被360和国产管家报威胁,可以为其进行数字签名,即使用代码签名证书,用户下载软件时,能通过数字签名验证软件来源,确认软件、代码没有被非法篡改或植入病毒,减少被误报的可能。

Signcode.exe

Signcode.exe 是微软提供的一款用于对代码和软件文件进行数字签名的工具:

  • 支持多种文件类型签名:能够对常见的可执行文件(如.exe、.dll、.ocx)、Cabinet 打包文件(.cab)以及目录文件(.cat)等进行数字签名,确保这些文件的完整性和来源可靠性,防止文件被篡改.
  • 增强软件安全性和可信度:通过数字签名,用户在下载和运行软件时,可以验证软件是否来自合法的开发者,以及软件在传输过程中是否被修改过,从而提高软件的安全性和可信度,减少用户对未知来源软件的担忧.
  • 提供时间戳服务:在签名过程中可添加时间戳,即使代码签名证书过期,只要软件是在证书有效期内签名的,时间戳服务仍能保证该软件的签名在一定时间内继续有效,用户依旧可以放心下载和使用,无需开发者重新对软件进行签名.

生成数字签名证书

生成证书:可以使用 New-SelfSignedCertificate 命令生成自签名证书,例如

New-SelfSignedCertificate -Type Custom -Subject "CN=YourCompanyName" -KeyUsage DigitalSignature -FriendlyName "YourFriendlyName" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotAfter (Get-Date).AddYears(10)

其中CN为证书的主题名称,可根据实际情况修改,此命令会在当前用户的证书存储区生成一个自签名证书.

导出证书:使用 Export-PfxCertificate 命令将证书导出为pfx格式,如

Export-PfxCertificate -cert "Cert:\CurrentUser\My\YourCertificateThumbprint" -FilePath yourcertificate.pfx -Password (ConvertTo-SecureString -String "YourPassword" -Force -AsPlainText)

注意将YourCertificateThumbprint替换为实际的证书指纹,YourPassword替换为设置的密码.

使用 Signtool 签名:找到Signtool.exe工具的路径,一般在 C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe,打开命令提示符,进入该目录,然后执行签名命令,如

C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" sign /f yourcertificate.pfx /p YourPassword /t http://timestamp.digicert.com /v "YourSoftware.exe"

将yourcertificate.pfx、YourPassword和YourSoftware.exe分别替换为实际的证书文件、密码和要签名的软件文件名.

使用 Signcode.exe 工具

制作根证书:在命令提示符中输入

makecert -sv myroot.pvk -ss mysubjectname -n CN=mycompany -r myroot.cer

其中-sv指定私钥文件名,-ss指定主题的证书存储名称,-n指定证书颁发对象,-r指定证书存储位置,回车后设置密码并记住.

制作子证书:输入

makecert -sv test.pvk -iv myroot.pvk -n CN=mycompany -$ commercial -ic myroot.cer test.cer

同样设置并记住密码,此命令中的参数含义与制作根证书类似,只是多了-iv指定根证书的私钥文件和-$指定授权范围.

生成 spc 发行者证书:可选操作,输入

cert2spc test.cer test.spc

可在相应目录下生成test.spc文件.

使用 Signcode 签名:运行 signcode.exe,按照向导依次选择需要签名的文件、证书类型为 “自定义”,然后从文件中选择子证书和私钥文件,并输入相应密码,还可根据需要设置哈希算法、其他证书、数据描述以及时间戳等选项,最后完成数字签名.

注意事项

证书的安全性:制作和使用数字证书时,需妥善保管私钥文件和密码,防止证书被盗用或泄露,以免造成软件被恶意签名或其他安全问题.

准确填写描述信息:填写功能描述和 Web 位置时,必须准确无误且指向证书签名单位网站上有关此软件的介绍页面,否则可能导致证书被吊销.

简介下这个 .net 开发的客服系统

可全天候 7 × 24 小时挂机运行,不掉线不丢消息,欢迎实测。

https://kf.shengxunwei.com/

希望能够打造: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。

钟意的话请给个赞支持一下吧,谢谢~

标签:exe,证书,数字签名,签名,软件,net,360
From: https://www.cnblogs.com/sheng_chao/p/18581139

相关文章

  • PointNet++论文复现
    ......
  • 独家原创 | 基于TCN-SENet +BiGRU-GlobalAttention并行预测模型
    往期精彩内容:时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较全是干货|数据集、学习资料、建模资源分享!EMD变体分解效果最好算法——CEEMDAN(五)-CSDN博客拒绝信息泄露!VMD滚动分解+Informer-BiLSTM并行预测模型-CSDN博客风速预测(一)数据集介绍和预处理_风......
  • C#.NET上传大文件并支持中途取消上传
    前端:vue2,vue3,vue-cli,html,jquery后端:asp.net,.netcore数据库:SQLServer,MySQL,Oracle,达梦,人大金仓,国产数据库功能:大文件上传下载,断点续传,文件夹上传下载,加密传输,加密存储,云对象存储今天早上又有网友加我微信,实际上我的微信号之前就已经在网上公开了,但是很多网友......
  • [Design Pattern] Encapsulate a network request lib - 4. API Template
    Whencompany'sAPIbecomehugeandalwayschanging,if request-busismaintainedbydevelopersmanually,it'snotonlytimeconsumingbutalsoerrorprone.Wecanintroducesomestandardautomationprocesstoresolvetheproblem. Examples:{......
  • [Design Pattern] Encapsulate a network request lib - 1. DIP: Dependence Inversio
    ThreelayersdesignLowlevelimplementationLayer:usinglowlevelimplementationtocompletebasicoperation.Forthenetworkrequest,wecanusethelibsuchasaxios,whichinternallyusing xhr,orwecanalsouse fetchdirectlyfromnode.jsreque......
  • k8s诊断与故障排除宝典-Kubernetes运维必备
    这篇文章是一份全面的指南,旨在帮助用户使用kubectl命令行工具来诊断Kubernetes集群中的各种问题,覆盖了从基础的集群信息获取到复杂的故障排除场景,包括但不限于以下几个方面:集群信息:获取Kubernetes版本、集群信息、节点列表、命名空间等关键信息。Pod诊断:列出和描述......
  • EfficientNet-resDDSC:一种集成残差块和扩展卷积的混合深度学习模型推断单细胞数据中的
    中文关键词:单细胞测序scRNA-seq,基因调控关系,基因调控网络,调控因果关系,深度学习,机器学习 中文摘要:基因调控网络(GRNs)揭示了生物体内基因之间的复杂相互作用,这对于理解生命系统的运作至关重要。生物技术的快速发展,特别是单细胞RNA测序(scRNA-seq),产生了大量的scRNA-eq数据,可以在......
  • .NET Conf China 2024 AI相关内容解析
          .NETConfChina2024中国.NET开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET开发者盛会,我们筹备大会之初就定下了大会的主题是“智能、创新、开放”。我们将聚焦于人工智能和机器学习在.NET中的应用,将围绕“.NETxAI”这一议程展开,汇......
  • 基于TCN-Transformer-KAN混合模型实现电力负荷时序预测——Kolmogorov-Arnold Network
    前言系列专栏:【深度学习:算法项目实战】✨︎涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对抗网络、门控循环单元、长短期记忆......
  • .NET Md5加密异常处理
    操作系统更新后,软件出现各种bug~乍一看,md5加密算法跪了!为啥会出现md5算法崩溃呢?原因是操作系统开启了FIPS,而md5并不是FIPS(FederalInformationProcessingStandards即(美国)联邦信息处理标准)中的一个部分,这就导致了异常的发生!要解决这个问题,思路很简单:关闭FIPS或者本软件关......