Tag: 数字签名

Excelmacros的数字签名

在我们的项目中,我们有一个Excel模板(.xlt)和一个加载项文件(.xla)。 这些文件用于创build一个数据视图。 Dataview只不过是一种报告。 xla包含创build,删除,pipe理数据视图及其内容的控件的代码。 这些控件是在VC ++中创build的用于创build数据视图的OCX控件。 我们分别有加载项代码和模板文件。 xlt和xla进行了数字签名,以确保代码防篡改。 一切正常,直到数字签名进入图片。 dataview是通过打开模板文件(.xlt)并将文件保存为.xls扩展名而创build的,因此不会更改数字签名的xlt和xla文件。 当我们试图保存这个信息时,我们会得到如下的信息:“你正试图修改已签名的项目,你没有正确的密钥来签署项目….” 当我们给保存更改并丢弃签名时 ,只有生成的新文件才会丢失签名。 xlt和xla的签名保持不变。 我们也尝试手动编辑excel中的单元格并保存,但是我们没有得到这个消息。 只有在使用OCX控件创build数据视图并保存popup窗口上面的消息后。

数字签名与Excel上的PHP

我正在尝试使用函数openssl_pkcs7_sign将数字符号添加到Excel文档中。 问题是输出文件的格式不正确,excel用错误的字符打开它。 有人知道如何保持签名文件的格式? 谢谢

Excel VBA读取数字签名内容

我正在尝试在Excel中引入数字签名,用于数字化批准内部文档。 我需要做的就是在开始签名后禁止数字签名被辞退(编辑)。 我打算做的逻辑是在“VBA”中运行一个检查,看看数字签名文件的人是否与我在我的代码中初始化的名字相匹配。 例如: dim Name as string Name = "Firstname Lastname" Excel自动捕获基于Windowslogin的数字签名人员的姓名。 我现在需要的是检查由excel捕获的名称是否与被批准的名称匹配。 我可以写整个代码,只有部分我需要帮助,就是“VBA读取数字签名的内容” 链接到testing文件添加: https : //www.dropbox.com/s/9419bmzm6ejb9zh/signature%20test.xlsx?dl=0

apache POI为streamxlsx文件创build无效签名

我正在尝试创build一个有效的常规encryption签名并将其添加到我创build的xlsx文件中。 另外,我正在尝试在内存中执行它。 这似乎给我造成了问题。 此代码创build文件,但在Windows Excel中指出该签名是无效的。 请注意,我正在发送一个包含xlsx(内存 – 不在文件系统中)文件的inputstream,并且正在将pkg对象写入输出stream。 private ByteArrayOutputStream signFile(PrivateKey key, X509Certificate x509Certificate, InputStream input) { //change to approve signed SignatureConfig signatureConfig = new SignatureConfig(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); signatureConfig.setKey(key); signatureConfig.setExecutionTime(new Date()); ArrayList<X509Certificate> x509Certificates = new ArrayList<>(Collections.singletonList(x509Certificate)); x509Certificates.add(x509Certificate); signatureConfig.setSigningCertificateChain(x509Certificates); OPCPackage pkg = null; try { if (input instanceof ByteArrayInputStream) pkg = OPCPackage.open(input); } […]

数字签名我的macros,它仍然不会运行在Excel中

我在Excel文件中创build了一个VBA脚本。 我不想允许所有的脚本运行,因为安全的原因,所以我设置我的Excel工作与Disable all macros except digitally signed macros然后我做了一个签名,并签署了我的脚本。 仍然当我尝试运行它时,我收到以下消息: Because of your security settings, macros have been disabled. To run macros, you need to re-open this workbook, and then choose to enable macros 我真的不希望允许不受限制的使用maros,是否真的没有其他方式使用我自己的macros? 编辑:我忘了提及,我正在使用Microsoft Office Excel 2007 12.06.6771.5000

使用C#在Excel中使用预定的签名者,电子邮件等创build签名行

我正在使用Excel为我公司的会计部门自动生成表单。 我需要每个表单都有一个Excel签名行对象,其中包含预定的签名者信息(姓名,职务,电子邮件),并准备好签名。 到目前为止,我已经创build了签名行 xlApp.ActiveWorkbook.Signatures.AddSignatureLine(); 其中xlApp是我的Excel应用程序。 当我运行代码时,它会生成签名框,但popup窗口询问预定的签名者的名称,标题和电子邮件。 我试过使用 SendKeys.Send(name + "{TAB}Peon{TAB}" + email + "{TAB}{TAB}{TAB}{TAB}~"); 手动input信息,因为我找不到任何方法来创build接受此信息的签名行。 然而,代码挂起,直到popup窗口closures,永远不会到填写我需要的信息的行。 我想在Excel中压制警报和popup窗口,但是我找不到在哪里编辑签名行对象的属性。 任何想法如何实现我的目标? 谢谢,如果你能帮助!

VBA项目上的Excel 2003数字签名

我有一个macros项目将被发送给需要高macros安全性的用户。 如果我使用自签名证书,我可以签署我的代码,但它不是一个可信任的证书。 我向我们的安全团队要求并收到了企业证书,但是当我尝试签署代码时,我收到一个错误消息 “数字证书有问题。 VBA项目无法签名。 签名将被丢弃。 证书请求是从IIS生成的,因为这是任何人都知道如何生成企业级证书的唯一方法。 我的猜测是,由于我没有拥有与证书相关的私钥,Excel正在拒绝它。 有什么build议么?

如何以编程方式将证书分配给Excelmacros

我已经开发了一些代码,创buildExcelmacros,每次创build新的macros后,我想以编程方式对macros进行数字签名。 你可以让我知道,如果有什么办法,我可以创build新的数字证书,并指定这些macros以编程方式。 谢谢。

对使用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 […]