我遇到一个问题,我无法使用内置工具certmgr
将证书Private-Key导入monos certificatestore / keypairstore。
使用
将证书公共版本添加到商店可以正常工作user@maschine:~certs$ certmgr -add -c My MyCert.crt
Mono Certificate Manager - version 2.10.8.1
Manage X.509 certificates and CRL from stores.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.
1 certificate(s) added to store My.
但是,尝试在异常中添加相应的私钥结束
user@maschine:~certs$ certmgr -add -c My MyCert.p12
Mono Certificate Manager - version 2.10.8.1
Manage X.509 certificates and CRL from stores.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.
Unhandled Exception: System.Security.Cryptography.CryptographicException: Invalid MAC - file may have been tampered!
首先尝试添加公共Verison(.cer
)然后从私有版本(.p12
)导入相应的私钥失败,但是
略有不同的例外:
user@maschine:~certs$ certmgr -add -c My MyCert.crt
Mono Certificate Manager - version 2.10.8.1
Manage X.509 certificates and CRL from stores.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.
1 certificate(s) added to store My.
user@maschine:~certs$ certmgr -importKey -c My MyCert.p12
Mono Certificate Manager - version 2.10.8.1
Manage X.509 certificates and CRL from stores.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.
Unhandled Exception: System.Security.Cryptography.CryptographicException: Improperly protected user's key pairs in '/var/licapp/.config/.mono/keypairs'.
使用密码保护证书(并在命令中添加相应的参数)也没有帮助。
我在Debian Wheezy上使用mono V 2.10.8.1。有人知道如何在商店中添加处理证书并使用certmgr处理他们的密钥对吗?
我正在考虑一种解决方法,我只是将p12文件保存在我的应用程序之下而不使用商店,这将是一个更加不洁净的解决方案。但我无法将证书和KeyPair两者都添加到商店。
Certificats似乎没问题。在Windows下将它们添加到商店就可以了。
答案 0 :(得分:4)
文档存在一些问题,而且工具的行为在某些地方有点奇怪或错误......
chmod 700 ~/.config/.mono/keypairs
解决了您列出的例外情况。-importKey
操作时,您仍然可以
必须指定对象类型证书,即使是手册页
不是说你必须使用对象类型。而且,没有
“私钥”对象类型,而是使用“证书”对象
输入(-c
)。防爆。 certmgr -importKey -c -v -p p12password My
CertAndKeyPair.p12
为我提供了成功的信息。 certmgr -add -c My Certificate.cer
这应该使证书/密钥可用于您的.NET代码。-m
),则必须使用sudo
。