问题标签 [python-cryptography]

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.

0 投票
2 回答
6027 浏览

python - ValueError:在 jwt 编码期间无法反序列化密钥数据

我正在尝试使用 jwt 生成令牌,并且正在传递有效负载、secret_key 和算法('RS256')。这是代码的一部分

我收到此错误

当我使用HS256 algorithm时,会生成一个令牌,但是当我使用时RS256 algorithm,我会收到上面的错误。我已经尝试了几乎所有在线提供的解决方案,但我仍然遇到同样的错误。

我的密钥具有以下格式:

预期的输出应该是一个令牌

0 投票
0 回答
97 浏览

python - 用相同的密钥解密文本,给出无效的令牌

我可以使用来自特定文件的密钥进行加密key1,但我无法使用相同的密钥解密文件,cryptography.fernet.InvalidToken即使它是来自同一文件的相同密钥Securi1.key并读取为rb

它应该解密文本,然后用加密文件中不会解密的OG文本替换加密文本

0 投票
1 回答
2895 浏览

python - ImportError:密码学版本与加载的共享对象不匹配

我正在使用帕拉米科。知道如何使用该Paramiko.RSAKey.from_private_key()功能吗?我有兴趣使用函数来解析私钥并将该私钥用于 SSHClient。

我想运行的代码:

结果:

ImportError:加密的版本与加载的共享对象不匹配。如果您在 Python 路径中安装了多个密码学副本,则可能会发生这种情况。请尝试创建一个新的虚拟环境来解决此问题。加载的python版本:2.4.2,共享对象版本:b'2.7'

它似乎是 lib 密码学的一个问题:

我有 python 3.7.1 我已经安装了 Paramiko 使用pip install

以下是有关我用于 paramiko 的版本的一些信息:

以下是有关我用于加密的版本的一些信息:

我没有安装密码学并安装了相同版本的 paramiko:

相同的错误仍然存​​在

0 投票
3 回答
2950 浏览

python - 在 Python 中加密私钥

我有一个 DER 格式的私钥。我正在尝试将其转换为 PEM 并同时使用密码加密私钥。

这是我用来转换和加密的 openssl 命令:

我正在尝试在 Python 中实现类似的逻辑,其中我有 DER 格式的内存中密钥的数据。我想将其更改为 PEM,对其进行加密,然后存储到文件中。

我不太熟悉 Python 的 Crypto 库,而且我很难找出正确的方法来转换和加密我的关键数据。

0 投票
1 回答
3864 浏览

python - 解密功能的令牌无效?

我一直在使用 cryptography.fernet python 库来尝试加密文件中的某些字符串,但是每次我从文件中读取并尝试解密它时,都会说我将无效令牌传递给了解密函数。我只需要它从文件中读取并将其解密为已读。

我已经检查了我传递给函数的变量类型,它是一个字节类型变量。我已经删除并重新制作了该文件,但我不确定为什么它说它是一个无效的令牌。

这是我收到的确切错误消息。

我会很感激我能得到的任何帮助。

0 投票
1 回答
2899 浏览

python - ValueError:使用 AES256 解密时填充字节无效

我正在尝试使用库重写cryptography解决方案,但在解密过程中出现填充错误,即ValueError: Invalid padding bytes.这是我目前拥有的密码类:

当代码到达方法中时引发unpadded = unpadder.update(plaintext) + unpadder.finalize()异常decrypt。为什么填充失败?例如:

0 投票
1 回答
154 浏览

python - 在 Python 中使用 EC 生成公钥

我正在创建 JWT 解析器,现在我需要创建公钥。我是在 Kotlin 中实现的。但现在我必须在 Python 中创建相同的解析器。但我陷入了在 python 中创建 X.509 证书的困境。我尝试使用cryptography图书馆但没有成功。Kotlin 中的代码。感谢您的回复。

0 投票
1 回答
560 浏览

python-3.x - Python xmlsec XML 签名值不匹配

我是 xml 签名的新手,目前我正在使用 xmlsec 生成签名的 xml。我对示例代码进行了一些修改:

现在我已经签署了 XML,并且从这里我试图了解值是在哪里或如何生成的。我正在关注上下文。我能够验证DigestValue,现在我正在尝试获取SignatureValue. 从stackoverflow中的链接和其他一些问题,我只需要:

  1. 规范化整个SignedInfo元素
  2. 哈希结果
  3. 签署哈希

为了得到签名值。我正在使用以下方法对SignedInfo元素进行规范化lxml

有关信息,结果如下SignedInfo

我正在使用密码学来尝试生成SignatureValue但是,我无法获得与 xmlsec 生成的结果相同的结果。

这是我这样做的代码片段:

我还尝试将其加载SignedInfo到单独的文件中,但是仍然得到不匹配的 SignatureValue。我该如何做到这一点?

0 投票
0 回答
458 浏览

python - 每次用户要加密一个新文件时,我是否应该生成一个新的 RSA 密钥对?

我正在做一个项目,我将在其中加密一些文件。我已经实现了 AES 功能,现在我正在实现 RSA 部分。在 AES 部分,每次我要加密一个新文件时,我都会创建一个新密钥,即使密码是相同的,使用不同的盐也是如此。为了恢复上述密码,我需要将一个已知的密码和盐散列在一起。我应该对 RSA 公钥和私钥做同样的事情吗?如果是这样,我可以将我在 AES 密钥上使用的方法应用于 RSA 密钥吗?或者我的方法应该不同吗?

这就是我生成 RSA 密钥的方式:

这就是我处理加密/解密过程的方式:

0 投票
2 回答
311 浏览

python - Python如何使用模数+指数使用RSA进行编码

您好,我需要使用模数和指数 + 输入使用 RSA 对文本进行编码

我已经尝试过了,但出现错误

AttributeError:“str”对象没有属性“bit_length”