Простите за невнимательность, почту забыл проверить.
Пока сертификат клиента не проверяю совсем, не проверяю и на отозванность (по крайней мере задаю такие параметры в AuthentificateAsServer)
Установил КС тестового УЦ в
Сертификаты (локальный компьютер) -> Доверенные КЦС -> Реестр,
Сертификаты (локальный компьютер) -> Сторонние КЦС -> Реестр,
Сертификаты (текущий пользователь) -> Доверенные КЦС -> Реестр,
Сертификаты (текущий пользователь) -> Доверенные КЦС -> Локальный компьютер,
Сертификаты (текущий пользователь) -> Сторонние КЦС -> Реестр,
Сертификаты (текущий пользователь) -> Сторонние КЦС -> Локальный компьютер;
вроде везде где можно :)
Только что попробовал на самоподписанных, последовательность опишу ниже, чтоб поправили если я где не прав был, не получилось, но Исключение выбросило другое (все в командной строке от имени Администратора)
C:\Program Files (x86)\Crypto Pro\CSP>csptest.exe -makecert "CN=GostRoot CA" -p 0 -ca -u 0 -k s -exportable -sl Root m
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:READY,ENABLED.
File called SelfSigned.cer has been saved.
Certificate created successfully and installed
Total: SYS: 0,312 sec USR: 0,125 sec UTC: 17,784 sec
[ErrorCode: 0x00000000]
C:\Program Files (x86)\Crypto Pro\CSP>csptest.exe -keyset -check -container cb60cec0-5c44-51a5-4c2b-54ea3a3644d5 -machinekeyset
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:READY,ENABLED.
AcquireContext: OK. HCRYPTPROV: 7105160
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Container name: "cb60cec0-5c44-51a5-4c2b-54ea3a3644d5"
Signature key is available. HCRYPTKEY: 0x6c4dd8
Exchange key is not available.
Check key passed.
C:\Program Files (x86)\Crypto Pro\CSP>csptest.exe -makecert "CN=Gost Server" -p 0 -u 1 -exportable -sl My m -is "GostRoot CA" Root m
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:READY,ENABLED.
File called Certificate.cer has been saved.
Certificate created successfully and installed
Total: SYS: 0,343 sec USR: 0,234 sec UTC: 25,428 sec
[ErrorCode: 0x00000000]
C:\Program Files (x86)\Crypto Pro\CSP>csptest.exe -keyset -check -container 72a65515-20fa-af8f-533e-271225a8adde -machinekeyset
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:READY,ENABLED.
AcquireContext: OK. HCRYPTPROV: 3304072
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Container name: "72a65515-20fa-af8f-533e-271225a8adde"
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x324dd8
Check key passed.
Keys in container:
exchange key
Total: SYS: 0,047 sec USR: 0,094 sec UTC: 2,074 sec
[ErrorCode: 0x00000000]
Нажимаю Посмотреть сертификаты в контейнере... -> Компьютера -> Обзор, выбираю '72a65515-20fa-af8f-533e-271225a8adde'
Результат:
В контейнере закрытого ключа 'REGISTRY\\72a65515-20fa-af8f-533e-271225a8adde' отсутствует сертификат открытого ключа шифрования
аналогично с сертификатом "сервера" (там его "По сертификату" выбираю)
Запускаю примеры:
C:\Users\root\Desktop\simple\bin\Debug>SimpleCS.exe Ssl.Server "Gost Server" false
Найдено 1 сертификат(ов) в хранилище My для субъекта Gost Server
Ожидаем клиента...
C:\Users\root\Desktop\simple\bin\Debug>SimpleCS.exe Ssl.Client localhost "Gost Server"
На сервере Экзепшн теперь такой
System.ComponentModel.Win32Exception (0x80004005): Не удается установить связь с локальным администратором безопасности
в System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface SecModule, String package, CredentialUse intent, SecureCredential scc)
в System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse credUsage, SecureCredential& secureCredential)
в System.Net.Security.SecureChannel.AcquireServerCredentials(Byte[]& thumbPrint)
в System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output)
в System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
в Samples.Ssl.Server.ProcessClient(TcpClient client) в C:\Users\root\Desktop\simple\Ssl\cs\Server.cs:строка 96
в Samples.Ssl.Server.RunServer(String serverName) в C:\Users\root\Desktop\simple\Ssl\cs\Server.cs:строка 82
в Samples.Ssl.Server.Main(String[] args) в C:\Users\root\Desktop\simple\Ssl\cs\Server.cs:строка 242