Tag: sha256

不使用VBA或macros的SHA256 / SHA512散列,基于Excel公式的函数

这是2017年,任何需要使用散列的人都应该避免像MD5那样的“破坏”,如果安全性很重要的话。 有没有人发现或创build了一种方法来在Excel中执行更安全的SHA256或SHA512散列,而不使用VBA或macros? 之前做过的一个壮观的例子是在3年半以前用MD5(如在这个SO中所看到的: MD5中的Hash函数在Excel中不使用VBA )。 避免VBA /macros的原因:与移动设备(如iOS的Excel)兼容。 注意:原始的堆栈溢出post有一个死链接的成功答案,这里是一个新的链接供参考: https : //tzamtzis.gr/2017/web-analytics/excel-function-md5-hashing-without-vba /

如何使用sha256签名为sha256证书添加时间戳,以便在Excel 2013中保护Excel VBAmacros代码?

这个引用来自对Excel安全设置的另一个问题的答案。 答案build议使用数字证书签名macros来解决安全问题。 在答案的最后,有人指出:“当你对macros进行数字签名时,获得一个时间戳很重要……” 这在Office 2013中很棘手,原因很多。 首先,将签名附加到电子表格有两种不同的方法。 他们被称为可见和不可见的签名。 使用“文件”>“保护工作簿”>“添加数字签名”命令,可见签名可应用于整个文档。 要单独将VBA代码应用于VBA代码,请使用“工具”>“数字签名”命令,然后select要签入的证书。 最好是简单地保护VBA代码而不是整个电子表格,因为只要运行macros,代码就会将其输出写入电子表格,并且由于它是一个受保护的工作簿,因此代码出错并停止。 这个工作手册是作为一个演示而devise的,保存了一个只读build议,需要一个密码来修改它。 我们希望用户能够将macros写入电子表格,但不能保存具有相同名称的更改的文件。 由于将数字签名应用于VBA仅保护VBA,因此在写入电子表格时不会出现错误。 问题是获取保护VBA的证书的时间戳。 有一个令人眼花缭乱的registry和组策略设置,会影响时间戳,而且当我的sha256证书只用于保护VBA时,需要哪些设置才能获得sha256时间戳是相当不清楚的。 我已经尝试了所有可用的东西,看起来好像它可能会影响没有喜悦的时间戳。 尽pipe我已经能够使用较新的Office XAdES计数器签名签署电子表格并获得签名时间戳,但用于签署VBA项目的证书不会自行添加时间戳。 为其input以下registry项是必需的:HKCU \ Software \ Microsoft \ Office \ 15.0 \ Common \ Signatures 我相信键中的以下值仅影响整个工作簿XAdES签名的时间戳。 MinXAdESLevel DWORD 2 TSalocation http://timestamp.comodoca.com/rfc3161 XAdESLevel DWORD 5 从实验中,我发现通过使用以下registry项可以获得保护使用时间戳签名的VBA的证书: HKCU \ Software \ Microsoft \ VBA \ Security:TimeStampURL http://timestamp.comodoca.com/rfc3161 TimeStampRetryCount DWORD 2 TimeStampRetryDelay […]

Excel中的HMAC SHA256macros

我search通过谷歌,技术论坛等…但我找不到一个很好的教程/指南,回答我的问题: 我有一个单元格与文本的Excel,和一个单元格与一个关键字(两个文本),有没有办法有一个HMAC的EXCEL函数,这两个单元格作为input并返回hmac文本? 提前致谢

对使用SHA-2证书的.NET Framework 4.0进行签名的VSTO Excel加载项签名

我有一个VSTO 2010 Excel加载项,面向.Net Framework 4.0,Visual Studio 2010。 过去几年我们使用SHA-1证书来签署清单和程序集。 该应用程序已经为很多最终用户部署。 现在,随着SHA-1弃用政策从2016年1月开始生效,已由CA颁发的更新证书使用SHA-256进行密钥pipe理。 请查看使用各种版本的Visual Studio构buildExcel 2010 VSTO加载项所生成的文件: 注意:以下所有情况下使用的证书都使用SHA-2algorithm进行密钥input。 由VS 2010 SP1,Target Framework 4.0生成的.VSTO: 为dependentAssembly的hash提到的DigestMethodalgorithm是SHA1,即使使用SHA2证书。 <dependentAssembly dependencyType="install" codebase="ExcelAddIn1.dll.manifest" size="18274"> <assemblyIdentity name="ExcelAddIn1.dll" version="1.0.0.1" publicKeyToken="2142698160a31911" language="neutral" processorArchitecture="msil" type="win32" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>DIGEST VALUE</dsig:DigestValue> </hash> </dependentAssembly> 在publisherIdentity标签下,所使用的SignatureMethod和DigestMethod是SHA256 ,它是根据证书的algorithm。 <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> 由VS […]