powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
6 сообщений из 6, страница 1 из 1
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39865660
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таким образом сертификат удаляется и из контейнера, например токена.
Как удалить его только из хранилища "Личное"?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
// открываем хранилище
AutoCERTSTORE hCertStore = CertOpenStore(CERT_STORE_PROV_SYSTEM_W, 0, NULL, CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
if (!hCertStore) return FALSE;

PCCERT_CONTEXT pCertContext = NULL;
while (pCertContext = CertEnumCertificatesInStore(hCertStore, pCertContext)) {
	if (CertHash(pCertContext).compare(wsCertHash)) continue;
	return CertDeleteCertificateFromStore(pCertContext);
}
...
Рейтинг: 0 / 0
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39866088
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например если удалить личный сертификат в браузере то из контейнера он не удаляется
Как они это делают?
...
Рейтинг: 0 / 0
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39866129
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Браузеры, как правило, кросс-платформенны, а значит стараются НЕ привязываться к каким-то конкретным низкоуровневым API без особой нужды. Например, для работы с SSL/TLS можно использовать и Windows API schannel , а можно и OpenSSL, который, между прочим кросс-платформенный и не нуждается в CryptoAPI.

Как ты считаешь какую из библиотек будет поддерживать кросс-платформенный браузер?

Если же мы возьмем нативный для Windows браузер, то тогда он, по идее, должен использовать CryptoAPI, но зачем ему удалять из системного хранилища сертификаты, которые он туда не устанавливал ?

Браузер не обязан использовать сертификаты на уровне системного хранилища. Более того, если ты внимательно читал мои вчерашние ссылки на MSDN, то мог бы заметить, что приложениям разрешается создавать собственные хранилища сертификатов, отличные от системных. Таким образом, IE/Edge могут вести собственную базу и копировать в нее сертификат из системного хранилища, который пользователь выбрал для данного сайта. Когда ты удаляешь сертификат в браузере, то удаляется запись из этой базы данных, но в системном хранилище сертификат продолжает жить. Вдруг, ты ошибся или передумаешь потом, где ты возьмешь сертификат, если браузер грохнул его отовсюду?

На Linux/Unix системах, где может не существовать такого понятия как хранилище сертификатов в принципе (меня поправят если я ошибаюсь, коллеги, которые лучше знают устройство Linux систем) сертификаты, как правило, хранят рядом с приложениями в виде pem файлов.

Нужно удалить сертификат, удаляй pem файл.
...
Рейтинг: 0 / 0
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39866134
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrum
Нужно удалить сертификат, удаляй pem файл.
просто удаляю файл отсуда C:\Users\a.khodykin\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates?
...
Рейтинг: 0 / 0
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39866293
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrum,

sst
...
Рейтинг: 0 / 0
Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
    #39869499
mackz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
listtoview,

я так и делал
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Крипто API. Как удалить сертификат из хранилища не удаляя из контейнера?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]