Я столкнулся с проблемой, из-за которой я не могу импортировать закрытый ключ сертификата в хранилище сертификатов/пар ключей monos с помощью встроенного инструмента certmgr
.
Добавление общедоступной версии сертификатов в хранилище отлично работает с использованием
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!
Попытка сначала добавить общедоступную версию (.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'.
Защита сертификата паролем (и добавление соответствующего параметра в команду) тоже не помогает.
Я использую моно V 2.10.8.1 на Debian Wheezy. Кто-нибудь знает, как добавить дескрипторы сертификатов в хранилища и обрабатывать их пары ключей с помощью certmgr?
Я рассматриваю обходной путь, при котором я просто храню p12-файлы под своим приложением, не используя хранилища, что, я думаю, было бы гораздо более нечистым решением. Но я просто не могу добавить в магазин как сертификат, так и пару ключей.
Сертификаты вроде в норме. Добавление их в Магазин под Windows работает нормально.