Может ли кто-нибудь предоставить мне пример создания самозаверяющего сертификата, который будет принят следующим кодом:
ServiceHost svh = new ServiceHost(typeof(MyClass));
var tcpbinding = new NetTcpBinding(SecurityMode.TransportWithMessageCredential, true);
//security
tcpbinding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
svh.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = new BWUserNamePasswordValidator();
svh.Credentials.UserNameAuthentication.UserNamePasswordValidationMode =UserNamePasswordValidationMode.Custom;
svh.Credentials.ServiceCertificate.Certificate = BookmarkWizSettings.TcpBindingCertificate;
....
svh.Open();
Я использовал
makecert -pe myCertificate
и
makecert -sv SignRoot.pvk -cy authority -r signroot.cer -a sha1 -n "CN=Dev Certification Authority" -ss my -sr localmachine
и
makecert -r -pe -n "CN=Client" -ss MyApp -sky Exchange
, и я пытался создать сертификат с помощью BouncyCastle, но каждый раз получаю следующее исключение:
It is likely that certificate 'CN=Dev Certification Authority' may not have a
private key that is capable of key exchange or the process may not have access
rights for the private key. Please see inner exception for detail.
и внутреннее исключение равно нулю.
Скорее всего, есть хитрость, но я его не понимаю.
Как создать правильный сертификат для моей службы WCF ??