问题标签 [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 投票
1 回答
193 浏览

python - 过期令牌生成器返回 InvalidToken

我正在尝试创建一个过期令牌生成器。但是,当我例如使用generate_token然后使用令牌时,get_token_value我不断得到cryptography.fernet.InvalidToken我猜这是两个函数中的编码问题,但我不太确定我缺少什么?

发电机

0 投票
1 回答
2947 浏览

python - Python 密码学生成随机密钥

我正在使用 python Cryptography 模块,并且使用文档中的示例生成了私钥和公钥。我遇到的问题是我希望能够生成不同的密钥对。就像我生成一个,但每次运行它时总是生成同一个。我已经尝试尽可能多地阅读文档,但找不到任何解决此问题的方法。谢谢。

0 投票
1 回答
479 浏览

python-3.x - 由于无效的环境标记错误,无法构建基于 scrapy 的项目

对于几个月前使用 Scrapy 编写的项目之一,我无法使用 Ubuntu 作为基本操作系统构建 docker 映像。它显示以下依赖错误 -

由于我无法控制 Scrapy 的依赖项,并且我一直在使用最新版本的 Scrapy 1.4.0 和 Python 3,我不确定我现在有什么选择?

以下是我用来安装依赖项的命令

pip3 install -r requirements.txt

以下是我的 requirements.txt 的样子

更新:

该构建在 Mac 机器上运行良好,如下所示,而它在 Ubuntu 机器上不起作用。注意:即使是成功的构建也会发出platform_python_implementation != "PyPy"如下所示的警告 -

0 投票
1 回答
1292 浏览

cryptography - 获取 ECDSA 签名的固定长度字节表示的正确方法是什么?

我正在使用 python 和 cryptography.io 来签名和验证消息。我可以通过以下方式获得签名的 DER 编码字节表示:

cryptography_priv_key.sign(message, hash_function)

...根据本文档:https ://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/

来自 256 位曲线的 DER 编码 ECDSA 签名最多为 72 个字节;请参阅:ECDSA 签名长度

但是,根据 r 和 s 的值,它也可以是 70 或 71 个字节。事实上,如果我检查这个函数的输出长度,它会在 70-72 之间变化。到目前为止我有这个权利吗?

我可以将签名解码为整数 r 和 s。这些显然都是 32 个字节,但我不清楚是否会一直如此。

将这两个整数转换为字节并通过网络发送它们是否安全,以便在另一端再次对它们进行编码?

0 投票
1 回答
898 浏览

python - Crypto++ 和 Python 之间的 Diffie-Hellman 密钥交换

考虑客户端和服务器之间的 Diffie-Hellman 密钥交换,其中客户端应用程序是用 c++ 编写的,后端是用 python 编写的。客户端应用程序将Crypto++ lib 用于加密内容,而 Python 使用cryptography

这里是生成私钥和公钥的客户端应用程序部分

现在的问题是我不知道如何将公钥反序列化为 python EllipticCurvePublicKey。当我使用cryptography.hazmat.primitives.serialization.load_der_public_key() 我得到

有没有人尝试使用这两个库在 Crypto++ 和 Python 之间实现 Diffie-Hellman 密钥交换?

0 投票
0 回答
403 浏览

python - 使用由 M2Crypto 生成的密码学/pycrypto 进行私有加密(生成签名)

我正在尝试为有效负载生成签名。我的技术栈在 Python3.6 中,它提供了密码学或 pycrypto 之类的库。问题是,我无法private_encrypt在密码学等库中重新创建 M2Crypto 的功能。M2Crypto 生成的签名被我的对端接受为有效签名,而由两个库生成的签名被丢弃,说无效签名。

我已经使用 python2.7 创建了一个最小的 POC 来说明我的情况。

cryptography由和创建的签名Crypto相同,与由 生成的签名不同M2Crypto。TIA。

0 投票
1 回答
3956 浏览

python - 在 Python 中使用 SHA256 对字节字符串进行签名

目前,我有一些代码使用原生 OpenSSL 二进制文件使用 SHA256 算法对字节字符串进行签名,该代码调用外部进程,发送参数,并将结果接收回 Python 代码。

当前代码如下:

original_string太大时,我可能会遇到结果问题(我认为是与外部进程的通信),这就是为什么我试图将其更改为仅 Python 的解决方案:

这导致与第一个完全不同的字符串。

在不调用外部进程的情况下实现原始代码的方法是什么?

0 投票
0 回答
212 浏览

python - 如何在 Python Cryptography 中读取二进制密钥?

我有一个二进制格式的 RSA 模数和指数。我无权访问 PEM 格式的密钥。如何使用cryptography库加载它?

我不知道如何解决这个问题,但我有:

作为说明,我不必使用该cryptography库,如果有更好的方法可以使用不同的库来做到这一点,那没关系。

0 投票
2 回答
547 浏览

python - 使用 Paramiko 时出现加密错误?

我最近没有更新任何我能想到的会影响 nacl 和 paramiko 签名过程的东西,但现在它不起作用。我已经重新安装了 paramiko 和 netmiko,并确保所有的加密库都是最新的。我不知道还能做什么,有什么想法吗?

Netmiko 使用 Paramiko 库建立 SSH 连接。这段代码用于设置设备定义。

这是与设备创建和 ssh 连接打开相关的堆栈跟踪。

0 投票
1 回答
5903 浏览

python - SQLAlchemy 加密列而不在检索时自动解密

目前,我使用EncryptedTypefromsqlalchemy_utils是为了在进入表的过程中自动加密数据,并在从表中检索数据时解密数据,使用一些预定义的字符串作为加密密钥。这工作正常,但现在要求已经改变,虽然我仍然需要在进入表的过程中加密数据,但我现在需要在检索数据时保持数据加密。我不确定这是否EncryptedType支持,或者是否有任何其他方法可以使用 SQLAlchemy 做到这一点,而无需在我假设的密码库中滚动我自己。

我的表示例: