谁能告诉我从文件中提取/转换证书.crt
和私钥.key
文件的正确方法/命令.pem
?我刚读过它们是可以互换的,但不是如何.
我正在努力更好地解决公钥/私钥的工作方式.我知道发件人可以使用他/她的私钥向文档添加数字签名,以基本上获取文档的哈希值,但我不明白的是如何使用公钥来验证签名.
我的理解是公钥加密,私钥解密......任何人都可以帮我理解吗?
pki digital-signature public-key-encryption public-key private-key
ssh身份验证的问题:
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: …
Run Code Online (Sandbox Code Playgroud) 嗨,我正在编写一个程序,从一个.pem
文件导入私钥,并创建一个私钥对象,以便以后使用它.我遇到的问题是一些pem
文件头开头
-----BEGIN PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
而其他人开始
-----BEGIN RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
通过我的搜索我知道第一个PKCS#8
格式化,但我不知道另一个格式是什么格式.
背景:我的老板尝试使用公共和私有部分向我输出ASC密钥,但每当我收到文件时,私有部分永远不会加载,它不会解密任何文件.
我们尝试使用以下方法导出ASC密钥:
Windows应用程序GNU隐私助手(包含在gpg4win中)
Error: "Decryption failed. Secret Key Not available."
Run Code Online (Sandbox Code Playgroud)如何正确导出秘密或私有asc密钥来解密gpg文件?
我有一个.key文件,它是PEM格式的私钥文件.我没有制作这个文件,但我从某个地方得到了这个.
我希望看到它的MD5哈希与openssl工具,如下面的命令.
openssl rsa -in server.key -modulus -noout
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误.
unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY
Run Code Online (Sandbox Code Playgroud)
这是.key文件的一些asn1parse.
openssl asn1parse -in server.key
0:d=0 hl=4 l= 603 cons: SEQUENCE
4:d=1 hl=2 l= 1 prim: INTEGER :00
7:d=1 hl=3 l= 129 prim: INTEGER :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1 hl=2 l= 3 prim: INTEGER :010001
144:d=1 hl=3 l= 128 prim: INTEGER :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1
...
Run Code Online (Sandbox Code Playgroud)
还有什么我可以尝试的吗?
PEM_read_bio_PrivateKey()
NULL
如果私钥在ECB模式下由DES EDE加密,则返回.问题发生在EVP_DecryptFinal_ex()
:
4128:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
如果在CBC模式下DES EDE对相同的私钥进行加密,则此功能正常.
我检查过,这个问题在openssl 0.9.8r/y版本(没有FIPS)上是可重现的.如果使用FIPS构建openssl,则不会发生此问题.
是什么导致这种行为?
谢谢!
用(Tortoise)Git for Windows实现密钥处理让我很困惑.据我所知,你可以使用ssh.exe
(gits自己的ssh程序)实现,然后你可以ssh_config
在'faked'home dir中为每个主机选择一个ssh密钥.对我来说,这不是真的适用,因为我有多个Bitbucket帐户使用不同的密钥,但所有相同的主机.
然后有一种方法可以使用TortoiseGitPlink
.你基本上用putty生成的密钥设置了pageant,让TortoiseGit使用那个 - 将环境变量SSH_GIT
设置为你的TortoiseGitPlink.exe.
现在我的问题如下:我刚刚使用ssh-keygen -t rsa -f ~/.ssh/rsa_key
GitBash中的命令创建了一个带有默认选项的ssh2 rsa键.我尝试pageant.exe
使用它的GUI 加载这个文件.我收到了错误:Couldn't load this key (OpenSSH-SSH-2 private key)
.
这把钥匙有什么问题?在GitBash中制作它应该遵守所有标准的openSSH指南.puTTY键和openSSH键有区别是否正确?
导出的私钥是否通过执行gpg --export-secret-keys
仍然加密并受其密码短语保护?这似乎是这种情况,但我无法找到明确证实这一点的任何地方.
如果导出的密钥仍然是加密的,那么无论如何都要获得纯的,未加密的私钥(就像你可以用于公共段)?
private-key ×10
openssl ×3
encryption ×2
gnupg ×2
pem ×2
public-key ×2
ssh ×2
certificate ×1
export ×1
git-bash ×1
gnu ×1
linux ×1
openssh ×1
pageant ×1
pki ×1
plink ×1
rsa ×1
ssl ×1
vagrant ×1
vagrantfile ×1
virtualbox ×1