标签: openssl

尝试从源代码编译“wget”时 SSL 不可用?

我试图wget通过以下方式在 Linux 中从源代码安装:

./configure --with-ssl=openssl
Run Code Online (Sandbox Code Playgroud)

但它返回给我:

configure: error: --with-ssl=openssl was given, but SSL is not available.
Run Code Online (Sandbox Code Playgroud)

如果我做:

root@qemux86:/mnt/sdc2/wget-1.16# which openssl
/mnt/sdc2/miniconda/bin/openssl
Run Code Online (Sandbox Code Playgroud)

所以OpenSSL肯定已经安装了。为什么还是说 SSL 不可用?

linux compile openssl

5
推荐指数
1
解决办法
1万
查看次数

OpenSSL 为 AES-256-ECB 给出“iv undefined”

谁能发现为什么这个命令给出“iv undefined”?

>openssl.exe enc -d -aes-256-ecb -K 8000000000000000000000000000000000000000000000000000000000000001 -in ex3.8_C.bin -out plaintext.bin -nopad
iv undefined
Run Code Online (Sandbox Code Playgroud)

另请参阅基本 AES 解密问题

openssl aes

5
推荐指数
1
解决办法
1万
查看次数

如何知道私钥是用什么加密算法保护的?

我想打印用于保护私钥的算法。我该如何使用 openssl 做到这一点?

encryption openssl

5
推荐指数
1
解决办法
2289
查看次数

没有其他重要命令的 openssl rsa -passin pass:xxx 有何作用?

我不清楚第二个命令的作用

openssl genrsa -des3 -passout pass:123 -out private/server.key 2048
openssl rsa -passin pass:123 -in private/server.key -out private/server.key
Run Code Online (Sandbox Code Playgroud)

第一个生成使用 des3 和 pass 123 加密的 RSA 密钥。第二个怎么样?它会删除密码吗?

谢谢你,

ssl rsa openssl x509

5
推荐指数
1
解决办法
3万
查看次数

如何使用 openssl smime 解密 S/MIME 加密的电子邮件?

出于某种原因,我似乎无法找到这个基本问题的答案。我收到了一封加密的 S/MIME 电子邮件,我想使用openssl smime. 但是,我认为我无法提供正确格式的密钥。这就是我所做的:

  • 将电子邮件(原始文本格式)另存为smime-ok.txt
  • 将我的密钥从 OS X 钥匙串导出为myself.p12
  • 将我的公共证书从 OS X 钥匙串导出为myself.cer

然后我尝试了

openssl smime -decrypt -in smime-ok.txt -recip myself.p12
Run Code Online (Sandbox Code Playgroud)

但我得到

unable to load certificate
37740:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.7/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE
Run Code Online (Sandbox Code Playgroud)

我还尝试了-inkey myself.p12 -recip myself.cer更多的变体,但这并没有什么区别。我猜想我的密钥文件没有被读取,或者没有正确读取,因为也没有提示我输入密码。

我怀疑我可能基本上误解了如何使用openssl smime.

decryption openssl smime

5
推荐指数
1
解决办法
1万
查看次数

生成公钥 openssl ed25519

我正在尝试从通过此命令生成的私钥中获取公钥:

openssl genpkey -algorithm Ed25519 -out ed25519key.pem
Run Code Online (Sandbox Code Playgroud)

遵循此文档:https : //github.com/openssl/openssl/blob/master/doc/man1/genpkey.pod

但是我迷失了试图弄清楚如何从私钥生成公钥。另外,有没有办法指定密钥的长度?

openssl

5
推荐指数
1
解决办法
6107
查看次数

OpenSSL ca 在输入密码后失败且没有错误消息

我尝试使用根 CA 签署中间证书的 CSR,OpenSSL 要求我提供密码,然后什么也没有发生。没有错误消息,也没有生成证书。它失败的命令是:

openssl ca -config rootca.cnf -extensions v3_intermediate_ca ^
  -days 730 -notext -md sha256 ^
  -in C:/Certificates/IntermediateCA/csr/intermediate.csr.pem ^
  -out C:/Certificates/IntermediateCA/public/intermediate.cert.pem
Run Code Online (Sandbox Code Playgroud)

openssl 响应:

Enter pass phrase for C:/Certificates/RootCA/private/rootca.key.pem:
Run Code Online (Sandbox Code Playgroud)

当我输入密码时,之后什么也没有发生。

这个问题的一个好的答案有两个部分:

  1. 我究竟做错了什么?
  2. 如何获得此问题的错误输出?

额外细节

不确定是否需要这样做,但这里有一些我用来生成中间 CA 其余部分的附加命令:

创建中间CA私钥:

openssl genrsa -aes256 -out private/intermediate.key.pem 4096
Run Code Online (Sandbox Code Playgroud)

创建中级 CSR:

openssl req -config intermediateca.cnf -new -sha256 ^
  -key private/intermediate.key.pem ^
  -out csr/intermediate.csr.pem
Run Code Online (Sandbox Code Playgroud)

rootca.cnf(重要部分):

[ CA_default ]
dir = C:/Certificates/RootCA
...
[ policy_strict ]
countryName             = match
stateOrProvinceName     = match
localityName            = match
organizationName …
Run Code Online (Sandbox Code Playgroud)

windows certificate openssl certificate-authority

5
推荐指数
1
解决办法
2818
查看次数

用私钥加密后如何用公钥解密?

我使用命令行使用对称密钥加密了一个文件openssl,然后使用 RSA 公钥加密了该对称密钥。我尝试了一些加密和解密,然后我不小心用我的 RSA 私钥加密了对称密钥。加密继续进行,没有错误。

所以现在我无法解密对称密钥来访问我的文件。有没有openssl用公钥解密的命令?


我用于加密的命令行:

openssl rsautl -encrypt -inkey private_key.pem -in symmKey.key -out symmKey.enc
Run Code Online (Sandbox Code Playgroud)

对于解密我尝试使用:

openssl rsautl -decrypt -inkey public_key.pem -pubin -in symmKey.enc -out symmKey.key
Run Code Online (Sandbox Code Playgroud)

我还尝试验证symmKey.enc

openssl rsautl -verify -inkey public_key.pem -pubin -in symmKey.enc -out symmKey.key
Run Code Online (Sandbox Code Playgroud)

但后来我收到以下错误:

RSA operation error
    5968:error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding:crypto\rsa\rsa_pk1.c:67:
    5968:error:04067072:rsa routines:rsa_ossl_public_decrypt:padding check failed:crypto\rsa\rsa_ossl.c:586:`
Run Code Online (Sandbox Code Playgroud)

encryption openssl

5
推荐指数
1
解决办法
8985
查看次数

openssl加密文件别人无法解密

这是在 OS X 上。我使用以下命令加密了一个文件:

openssl enc -aes-256-cbc -salt -in secrets.json -out secrets.json.enc
Run Code Online (Sandbox Code Playgroud)

我被要求输入密码。然后我可以解密它

openssl enc -d -aes-256-cbc -in secrets.json.enc -out secrets.json
Run Code Online (Sandbox Code Playgroud)

系统要求我输入密码,我使用了刚才设置的密码。解密成功。

然而,我的同事复制了这个文件,却发现他无法用相同的命令和密码解密它。这是他所看到的:

10:59 $ openssl enc -d -aes-256-cbc -in secrets.json.enc -out secrets.json
enter aes-256-cbc decryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
bad decrypt
4611925440:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:570:
Run Code Online (Sandbox Code Playgroud)

我的 OS X 有

11:31 $ openssl version
LibreSSL 2.2.7
Run Code Online (Sandbox Code Playgroud)

他的 OS X 有

11:29 $ openssl version
OpenSSL 1.1.1b  26 Feb 2019 …
Run Code Online (Sandbox Code Playgroud)

openssl

5
推荐指数
1
解决办法
1万
查看次数

openssl如何显示密钥加密算法

使用 openssl 生成密钥时,可以选择使用密码对生成的密钥进行加密。

openssl genpkey -algorithm rsa -out rsa.key -aes-128-cbc
Run Code Online (Sandbox Code Playgroud)

在此示例中,CBC 模式下的 AES 128 用于加密文件“rsa.key”中生成的密钥。

如果想要将密钥与 openssl 一起使用,则必须提供密码。

openssl pkcs8 -in rsa.key
Enter Password:
Run Code Online (Sandbox Code Playgroud)

openssl 会以某种方式检测密钥加密算法。openssl 是否可以打印出用于加密密钥的加密算法?

encryption openssl

5
推荐指数
1
解决办法
6574
查看次数