我正在研究许可证系统。我在哪里生成包含包标识符和日期的加密文件。此许可证文件将随我的静态库一起提供。静态库必须检查许可证文件,并且只接受有效的文件才能使用。
我写了一个简单的脚本,它使用OpenSSL
来加密带有私有.pem
文件的文件。我已从该私钥生成公钥(.pub)
。
现在我想用公钥解密文件。但我似乎无法在网上找到任何可用的例子。这些文件看起来很稀缺。
赞赏正确的方向。
编辑:
Here我读到我只能用公钥加密,只用私钥解密。但是我认为这对我的情况不起作用?我无法在静态库中分发私钥。从那时起,人们可以生成自己的许可证文件。
我是不是错了?
嗯,here它表明两种方式都有效。
答案 0 :(得分:2)
您要做的通常是使用私钥加密的签名(RSA,而不是DSA)。在PKI中,通常假设公钥确实是公开的,而不是秘密,因此数据没有安全性,因此它只被认为是身份验证。
但是在你的情况下,因为公钥密钥(某些东西)你获得了一些数据保护,但你真正追求的是数据是由你(你的私钥)创建的,这是真正的签名;你说你要确保创造者就是你。
我说"公钥秘密(some-what)"因为公钥嵌入在应用程序中。