问题标签 [signing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - DSA:黑客可以用 *just* 公钥做什么?
我目前正在开发的共享软件注册系统将公共 DSA 密钥嵌入到可执行文件本身中,而私钥驻留在服务器上。(为了讨论,我们假设服务器是 100% 安全的,任何人都无法获得私钥。)
每当购买程序时,服务器都会通过使用私钥签署用户名来为用户生成许可证。然后将该许可证通过电子邮件发送给用户。一旦用户手动将他们的姓名和许可证输入到共享软件应用程序中,应用程序中嵌入的公钥就会验证它是有效还是无效的许可证。
但是,对于具有正确“专业知识”的坚定的人来说,反汇编可执行文件并检索公钥将是相当微不足道的。
我的问题是,他们能用它做什么?公钥本身是完全无害的吗?公钥是否足以对密钥生成器进行逆向工程?
好奇的人想知道。提前致谢!
c# - 发布签名文件?
我为我的程序构建了一个自动更新功能。它在一些 http url 中轮询一个 xml,如果有新版本,它会通知用户并下载新文件。
我想允许在没有互联网连接的封闭网络中重新分发这些更新。管理员可以下载所有更新文件并托管在网络中的某个 HTTP 服务器上。
问题是 xml URL 不一样,所以我想允许在程序的配置文件中更改这个 URL。这为恶意软件发布者打开了大门:他们可以使用配置文件中的其他 URL 重新分发我的程序,然后通过我的程序的自动更新系统分发某种形式的恶意软件,然后人们会说我的程序是病毒。
我想阻止更改原始自动更新 xml 以阻止这种恶意软件分发的机会。我怎么做?
android - 如何在 FOSS 项目中处理 Android 的 APK 签名?
我正在为 android 开发一个开源项目,我想知道是否有任何关于如何管理用于签署 APK 的私钥的最佳实践(或至少有充分理由的提示)。
一方面,密钥应该是安全的,另一方面,至少核心团队的成员应该能够创建“官方”版本。
我的第一个建议是在源存储库中分发加密的私钥并将密码发送给提交者,但不能撤销信任(从社区到个人)。
是否有任何其他方式可以在成员之间共享签名权(例如,通过设置私有 CA 并为每个提交者创建密钥)?
code-signing - 使用 signtool 创建密钥并签署可执行文件
我将如何签署 Visual C# 可执行文件?
SignTool.exe 找不到证书。
我将如何创建自签名密钥和证书,并让 signtool 能够查看并使用证书?
已安装 OpenSSL 和 Visual Studio 2010 Express。运行 Windows 7 Ultimate x64。
使用 Windows Driver Kit 中的 SignTool.exe。
javascript - 用于在浏览器中签署表单数据的 Javascript 加密库
我正在寻找一个有助于在浏览器中对数据进行数字签名的 JS 加密库(类似于 OpenSSL 的 libcrypto)。
我想使用私钥(RSA、PKI 证书或类似证书)在客户端签署表单数据。
例子
- 表单数据在浏览器中加载
- 用户 A 查看数据并对其进行签名 => 使用 js lib 和私钥在浏览器中创建签名
signature=RSA_encrypt(A_private_key, hash(data)) 表单数据和签名被发送到服务器并存储
另一个用户 (B) 可以通过比较
hash(data)“RSA_decrypt(A_public_key, signature)如果有人更改表单数据,则签名将不再有效”来检查签名的有效性。
编辑
https://developer.mozilla.org/en/javascript_crypto
http://www.hanewin.net/encrypt
http://tomas.styblo.name/cryptoapplet/
VIA APPLETS
使用用户证书以网络形式签署数据的最佳方式
!=> http://www.nakov.com/research/documents-signing/digital-document-signing-in-java-based-web-applications/
http://www.nakov.com/research/documents-signing/
http://www.developer.com/java/other/article.php/10936_3587361_1
http://www.developer.com/java/web/article.php/3083161
http://blogs.nologin.es/rickyepoderi/ index.php?/archives/12-Signature-Applet.html
相关
http://ccff02.minfin.fgov.be/CCFF_Authentication/views/login/signature/signatureHelp.html
http://msdn.microsoft.com/en-us/library/cc778518%28VS.85%29.aspx
java - 应用发布通过keytool获取私钥
我找不到在线教程,它为我提供了有关如何使用 JDK 中的 keytool 生成合适密钥的分步过程。
这:
http://developer.android.com/guide/publishing/app-signing.html
谈论它并给出命令,但它实际上并没有说明在何处以及在哪个文件夹中键入命令。我确定我在这里遗漏了一些简单的东西,但是有人可以指导我从哪里开始吗?
java - 代码签名,我需要生成密钥库吗?
我正在尝试使用 keytool 签署应用程序,但我没有密钥库文件。
我需要自己生成这个文件还是应该从代码签名机构那里收到它?如果是这样,我需要哪些文件来生成密钥库文件?
谢谢
security - 签署大量小数据块的安全问题
我想使用非对称密钥算法(最好是带有 GPG 的 RSA)对大量的小数据块(哈希,例如 SHA)进行签名,并使签名的文件公开可用。
这是否会带来安全问题,比如让我的私钥更容易计算?
如果是这样,有什么方法可以防止这种情况发生?
编辑:
例如,这应该用于:文件时间戳签名,以签署某个文件在给定时间存在的事实。由于带宽有限,只有散列被发送到签名服务器,签名服务器在散列上签名并返回签名。
android - 调试一个自签名的安卓应用程序?(需要它用于 facebook 集成)
当在 Eclipse 中点击“调试”按钮时,我的应用程序由存储在文件“debug.keystore”中的调试密钥形式 android 签名。
现在我正在实现Facebook SDK,它强制我使用签名的应用程序来实现单点登录功能。这样,我需要生成我公司密钥库的哈希并将其存储在我们的 Facebook 开发人员帐户中。
我知道如何通过 Eclipse 中的向导(通过 AndroidManifest.xml)签署应用程序。如何调试这样一个签名的应用程序?
我可以以某种方式更改调试密钥并将我们的公司密钥设置为调试密钥吗?或者我应该怎么走?现在我只能通过在设备上签名和安装我的应用程序来让 FB 正常工作。我已经尝试过生成调试密钥的散列,但没有运气......
visual-studio - Visual Studio 安装程序 - 在 MSI 中签名文件
我必须签署项目输出和 msi 安装程序。我可以将 singtool 用于 setup.exe 和 setup.msi。
但是我应该为已安装的项目输出做些什么:(例如 C:\program files\my app\run.exe)
我在其他线程中读到有一种方法可以在 \bin 或 \obj 目录中签署文件,但它不起作用。我使用 VS 2010 pro - C# 项目。