问题标签 [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 回答
2497 浏览

cryptography - 我可以在 AES-GCM 中发送未加密的随机数吗?

我在一个简单的聊天中实现 AES-GCM。由于 nonce 公开没有问题,并且我需要在每条消息中更改它,我可以发送未加密的消息 nonce 与消息本身吗?

一个例子:

有一个这样的功能:

我用这种方式:

然后,加密的消息将如下所示:

0 投票
1 回答
1509 浏览

python-3.x - 使用 pycrypto API 检查时,Python 加密 RSASSA PSS 签名返回无效

我正在尝试围绕 python 的 Crypto 模块构建一个包装程序,用于测试和生成用于硬件实现的测试向量。在硬件上使用带有 SHA256 数据哈希和 MGF1 SHA1 标识符的 RSASSA_PSS。

我从 pycrypto 生成的签名中获得了有效的签名响应,而在加密模块的情况下签名似乎无效。

以下实现适用于 pycrpto:

下面的实现是针对加密模块的:

据我了解,由于 PSS 算法的生成涉及随机性,获得的签名并不相同。两种情况下的算法设置是相同的。

来自 SHA256 的 HASH 值用于两个模块中的数据匹配,但在硬件检查时生成的签名在加密模块的情况下返回无效。

 

在密码学模块的情况下参数使用有问题吗?

从 pycrypto 模块的文档中,我看到 SHA1 用于 mgf1 并且盐长度也等于哈希算法的最大长度。

因此,在密码学模块中使用相同的值应该为我提供一个有效的签名。

当使用 pycrypto API 使用相应的公钥进行检查时,验证密码 API 生成的签名也会返回符号无效。

我尝试使用带有 sha256 哈希算法的 mgf1 生成签名,只是为了检查最新的主要嵌入式硬件实现,但这里也没有任何进展。

使用过 python3.6、pycrypto v2.6.1 和 cryptography v2.2.2

0 投票
1 回答
115 浏览

python-3.x - 在哪里可以找到使用 pycrypto 创建的 PEM 文件

我想知道在哪里可以找到导出的密钥。我在当前目录中看不到 .pem 文件。我可以将密钥保存到 txt 文件,但是当我尝试使用该密钥加密字符串时它不起作用。请帮忙

0 投票
0 回答
1725 浏览

python - 如何在 GAE 中使用 ES256 创建 JWT

我正在开发一个需要与使用 JWT 进行身份验证的 API 集成的 Google App Engine 解决方案。要使用的加密算法是 ES256,但是每次我尝试jwt.encode()使用 ES256 调用该方法时,都会抛出以下错误:

ImportError: No module named cryptography.hazmat.bindings._constant_time

发生这种情况是因为 App Engine(标准环境)不支持 cryptography.io,因为它使用 CFFI(C 外部函数接口)。

是否有任何其他推荐的方法可以从我的 Python App Engine 应用程序并使用 ES256 创建此 JWT?

这是简化的代码:

提前致谢。

0 投票
1 回答
1306 浏览

python - 使用 Python 从 PE 文件中提取软件签名证书

尝试使用 . 从 PE 文件中提取证书时cryptography,失败并显示ValueError: Unable to load certificate. 我能够使用命令行从同一个 PE 文件中正确提取subprocess证书openssl。我想了解使用cryptography.

我正在使用 Python 3.7.1、密码学 2.4.2 和 pefile 2018.8.8

这失败了ValueError: Unable to load certificate

0 投票
1 回答
1160 浏览

python - 如何从 pyNaCl 中的值加载 SigningKey?

我需要在 pyNaCl 中生成签名和私钥并将它们存储在某个地方。之后,我需要能够从字符串中加载它们。

这是生成新 SigningKey 和公钥的代码。

我希望从其值加载 SigningKey,但唯一可用的选项是使用种子生成一个新的。

0 投票
1 回答
2204 浏览

python - python - 密码学 - 生成新的 RSA 私钥

我需要一个函数来生成一个新的 RSA 私钥,然后可以将其作为字符串存储在 Django 模型字段中。我正在使用密码学==2.1.4

我虽然通过以下方式实现了这一目标:

但显然我在这里遗漏了一些东西或一些步骤(尽管我应该知道为什么......)因为private_key_str总是具有相同的价值。

这里有什么建议吗?

0 投票
2 回答
2673 浏览

python - 如何在 Python 3 的 Databricks 中使用 python 雪花连接器连接到雪花?

当我尝试将 snowflake-sqlalchemy 库附加到 Databricks 中的 Python 3 集群时,它会破坏我的 python 构建,并且在我安装后续库时会出现以下错误:

AttributeError:cffi 库“_openssl”没有名为“Cryptography_HAS_ED25519”的函数、常量或全局变量

我尝试将最新版本的 Cryptography 库单独附加到集群,但这给了我同样的问题。我认为它可能与以下链接有关:

从 azure-databricks-notebook-message-openssl-has-no-function-constant-or-global-variable-named-cryptography 连接到雪花

https://github.com/snowflakedb/snowflake-connector-python/issues/32

在第二个链接中,它提到了一种解决方法:

有什么方法可以卸载 Databricks 中预装的密码学 1.5 python 库,以便我可以使用新的目录结构重新安装最新版本的密码学(2.5)?

0 投票
1 回答
2585 浏览

python-3.x - 在 Python3 中使用加密模块加载 openssl 私钥时无法反序列化密钥数据错误

我正在尝试使用 Python 的加密模块加载使用 OpenSSL 生成的私钥。

openssl genrsa -out rootCA.key 4096

密钥生成为:

并将其加载为:

但我收到此错误:

有人可以帮忙吗?我似乎无法找出问题所在,因为它看起来很简单。我在模块中看不到cryptography与此相关的任何其他命令,所以我不确定这是否是一种不正确的处理方式。

编辑:

出于参考目的,或者任何遇到类似问题的人,这就是最终解决方案的样子:

0 投票
0 回答
525 浏览

python-3.x - 在 Python 的加密模块中使用我自己的 CA 生成证书时出现密钥不匹配错误

Python我在'sCryptography模块中编写了执行以下操作的代码:

a) 生成rootCA和根证书

b) 生成客户端密钥

Certificate Signing Requestc)使用密钥创建一个

d) 使用rootCA第一步生成的CSR,第三步创建的,生成我自己创建的root签名的证书。

执行此操作的代码如下所示:

但是,ssl.SSLError: [X509: KEY_VALUES_MISMATCH] key values mismatch (_ssl.c:2798)当我使用本地flask应用程序进行测试时出现错误。我无法弄清楚错误。在签署证书时,我使用根证书的私钥和我的域的公钥作为另一个参数,这是否可能导致问题?

编辑:

我能够通过此链接中的以下两条说明(来自链接的引用)检查是否确实存在生成密钥的错误:

他们确实不同。传输正确的密钥时出现了一些错误,我能够重新运行代码以得到md5相同的密钥。