草庐IT

安全证书

全部标签

c++ - 安全获取在 Windows API 中运行可执行文件的路径

嘿,我正在尝试获取与我的exe文件位于同一文件夹中的dll的路径。要走的路似乎是使用QueryFullProcessImageName()或GetModuleFileName()之一来获取正在运行的可执行文件的路径,然后使用字符串操作使其成为改为所需库的路径。不幸的是,这两个函数都没有提供提前找出所需缓冲区大小的方法。我试过为nSize参数传递零,但这没有达到预期的效果。执行此操作的最佳实践方法是什么? 最佳答案 在实践中,您可以使用WindowsAPIMAX_PATH作为您的缓冲区大小,也许加1以提高安全性。理论上Windows路

.net - MMC 证书管理单元在哪里导入 "Service account"的证书?

WindowsMMC证书管理单元允许管理员使用“服务帐户”,但服务如何访问这些证书?如果我使用“服务帐户”以管理员身份导入到个人,并且以标准用户身份运行的服务使用System.Security.Cryptography.X509Certificates.X509Store在StoreLocation.CurrentUser(或StoreLocation.LocalMachine)中查找,它不会找到证书。如果我改为以服务帐户登录并从该标准用户帐户将证书导入个人,则服务会找到该证书。管理单元将“服务帐户”的证书放在哪里,服务如何使用.NET类找到它? 最佳答案

windows - 运行非线程安全 Dll 的多个 'instances'?

我有一个dll的源代码还不是线程安全的。dll相当复杂,需要相当长的时间才能使其线程安全。所以我想出了独立运行Dll的几个“副本”的想法。最简单的方法可能是创建N个重命名的Dll副本并为每个线程加载一个单独的Dll。这是可行的解决方案吗?有没有更好的类似方法?是否可能存在一些包装代码?我知道这根本不是一个好的工程解决方案。请不要怪我。但它可能会解决许多问题。编辑2017我已经做到了,而且没有任何问题。伟大的!但请注意以下几点:http://msdn.microsoft.com/en-us/library/2s9wt68x%28v=vs.80%29.aspx如果DLL将任何非本地数据或对

c++ - 在不同的线程上解除分配 BSTR 是否安全?

如果我在一个线程上调用一个返回BSTR的COM方法,那么从另一个线程?COM调用完成后,我将不再在第一个线程上使用BSTR,因此应该不会有任何并发​​问题。但是考虑到COM与线程的关系,我不确定SysFreeString()是否依赖于在同一线程上分配的BSTR。示例代码:BSTRvalue=nullptr;HRESULThr=pComObject->DoSomething(&value);if(FAILED(hr)){returnhr;}std::threadt([value]{//dosomethingwithvalueSysFreeString(value);});t.detach

python - 带有编解码器 header 的 ASCII 安全文件的编码问题,具体取决于行数

这是Windows上Python3.5.2的神奇错误,这让我很沮丧。以下文件在此系统上失败:C:\Python35\python.exeencoding-problem-cp1252.pyFile"encoding-problem-cp1252.py",line2SyntaxError:encodingproblem:cp1252几乎不包含任何内容-除了codingheader之外还有一堆空行,但是删除任何行,即使是空行,它也会再次工作。我认为这是一个本地问题,所以我设置了jobonAppVeyor表现出相同的行为。Python是怎么回事?有一个binaryaccurateversio

windows - Unix SSL 证书日期比 Windows 多 6 小时

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭5年前。Improvethisquestion当我从中获取所有数据时,我在使用完全相同的证书时遇到了问题。日期的显示方式与Windows中的显示方式不同。在unix中我正在执行这

windows - 在数据库中存储 X509 证书 - 是或否?

我发现自己需要为内部应用程序存储公钥证书和一个私钥证书。我们团队的一名成员建议将X509证书存储在数据库中,而不是像我们迄今为止一直在做的那样将其存储在Windows证书存储中。我不喜欢重新发明轮子,但我至少必须考虑这个想法。这意味着让我们的数据更加集中,我想这很好。我能看到的最初障碍是:私钥仍然需要存储在某个地方,我不知道将它硬塞进“公钥”表中是否是个好主意。我也不喜欢为单个元素设置表格的想法。也许只是将私钥保存为本地文件?(例如.pfx文件)。撤销列表。我们可能必须设置一个流程来处理已撤销的公钥。我在X509证书方面没有太多经验,所以,我的问题是:在数据库中存储公钥证书而不是使用W

windows - 文件安全属性在文件副本上搞砸了

我有一个Windows服务可以更新我们的产品。它将产品文件复制到一个临时目录,通常是“C:\Windows\Temp”,修补二进制文件,然后使用MoveFileEx在重新启动时将文件复制回安装目录,通常是“C:\ProgramFiles\Product””。安装目录中的文件从父文件夹继承它们的安全属性。在复制、打补丁和重启后,安装目录中的文件缺少一些ACL。具体来说,这些文件不再具有用户组的ACL,因此用户在重新启动后无法再运行该程序。谁能解释一下这是怎么回事?似乎从安装目录复制到临时目录,文件继承了临时目录的ACL。但是,在MoveFileEx/Reboot上,文件仅继承安装目录和临

windows - vbscript 下载文件(绕过无效证书错误)

dimxHttp:SetxHttp=createobject("microsoft.xmlhttp")dimbStrm:SetbStrm=createobject("Adodb.Stream")xHttp.Open"GET","https://www.website.com/apps/CertMgr.Exe",FalsexHttp.SendwithbStrm.type=1'//binary.open.writexHttp.responseBody.savetofile"c:\CertMgr.Exe",2'//overwriteendwith使用上面的代码,我试图从安全站点下载文件以自动

windows - 调用 ImpersonateSelf() 是否会取消对同一线程所做的所有安全 token 调整?

我不明白ImpersonateSelf().假设我的代码在某个主机进程中运行。该主机进程创建了一个新线程并调整了线程安全性,以便线程具有最小权限,现在新线程执行我的代码。我的代码调用ImpersonateSelf(SecurityImpersonation);会有什么影响?它会重置为该线程所做的所有权限调整吗? 最佳答案 是的。它复制进程token并将其分配为当前线程的模拟token。旧token的特权无关紧要,因为线程不再使用该token。如果要合并权限,请使用GetTokenInformation获取旧权限并自己复制和分配模拟t