#c# #uwp #certificate
#c# #uwp #сертификат
Вопрос:
С помощью Powershell и командлета New-SelfSignedCertificate я создаю корневой сертификат и вспомогательный сертификат, который использует корневой сертификат (для подписи кода) в качестве подписывающего (-Signer).
Я выбираю дополнительный сертификат в приложении VS2017 UWP из Package.appxmanifest. Оба сертификата установлены в доверенном корневом центре.
Но я всегда получаю сообщение об ошибке «Разработчику манифеста не удалось импортировать сертификат. Выбранный вами сертификат недействителен «.
Вопрос в том, почему?
Если я не подпишу (remove -Signer) вспомогательный сертификат корневым сертификатом, тогда это сработает.
Кажется, я не могу использовать вспомогательный сертификат.
Я позаботился о том, чтобы BasicConstrains
«TextExtension = ‘2.5.29.37={text}1.3.6.1.5.5.7.3.3.3’, ‘2.5.29.19 = {text}Тип объекта: конечный объект'»
Комментарии:
1. Можете ли вы объяснить нам, почему здесь запрашивается дополнительный сертификат? По какой-либо конкретной причине?
2. Я хочу создать цепочку доверенных сертификатов для разных предложений. Для подписи другого программного приложения, но из того же корневого сертификата. Root-SubCA1-SubCA2.
3.Тем временем я нашел решение своей проблемы. Мне пришлось изменить параметры сертификатов. Корневой сертификат
CertStoreLocation = 'Cert:LocalMachineMy' KeyUsage = 'CertSign' Type = 'Custom' TextExtension = '2.5.29.37={text}1.3.6.1.5.5.7.3.3' , '2.5.29.19 = {text}ca=trueamp;pathlength=1' Subject = "dummy”
вспомогательный сертификатCertStoreLocation = 'Cert:LocalMachineMy' Type = 'CodeSigningCert' TextExtension = '2.5.29.37={text}1.3.6.1.5.5.7.3.3' , '2.5.29.19 = {text}Subject Type:End Entity' Subject = "dummy" Signer=$rootcert