У меня недавно (июль 2014 г.) была похожая проблема, и я обнаружил в OS X (10.9.4), что срок действия сертификата «DigiCert High Assurance EV Root CA» истек (хотя у меня был и другой, срок действия которого еще не истек).
Я нашел два сертификата с именем «DigiCert High» Assurance EV Root CA ", срок действия которого истекает ноябрь 2031 г., срок действия истек в июле 2014 г. (несколько дней назад). Удаление устаревшего сертификата решило проблему для меня.
Надеюсь, это поможет.
Думаю, вы ошиблись. Если ваша цель - безопасность, реальная безопасность, тогда вам не захочется хранить пароль даже в его зашифрованном виде (потому что он может быть расшифрован, если ключ украден, как говорили другие).
Что вы следует хранить хэш пароля (с соответствующей солью). Это означает, что никто (даже администраторы сайта) не может определить пароль пользователя. Они могут просто принять пароль и посмотреть, правильный он или нет, путем хеширования ввода с той же солью (вы не можете отменить хэш).
Кроме того, такая ситуация хорошо поддается базам данных, не так ли? используя один?
Google хеширование паролей с использованием солей , и вы можете прочитать об этом у настоящих экспертов по безопасности (я не один).
Используйте хорошо известную библиотеку, такую как openssl, и следуйте хорошо известным примерам и держитесь подальше от решений, специфичных для платформы.
Исправленный ответ .
Вам нужен код для шифрования и дешифрования файла, который можно использовать с вашим кодом C ++.
Было бы совершенно неправильно писать собственный код ( как этот ).
Но вы говорите, что не можете использовать стандартные библиотеки.
Стандартные (и, возможно, с открытым исходным кодом) библиотеки, вероятно, являются наиболее правильным подходом к реализации шифрования в ваших приложениях. Если вы решите не делать этого, у вас останется только два варианта:
Я бы по-прежнему придерживался стандартной библиотеки или интеграции такого кода с открытым исходным кодом в свое приложение. Пожалуйста, объясните, что мешает вам это сделать.
Старый : по какой-то причине я подумал, что требуется код PHP ... моя ошибка.
В этой статье приводится пример симметричной программы шифрования PHP с использованием crypt для хранения пароля в текстовом файле.
Возможно связанные вопросы Stackoverflow
Стандарт шифрования, который в настоящее время считается "безопасным", - это AES (также называемый Rijndael). Вы можете найти реализацию C ++ в Codeproject и во многих других местах.
Обратите внимание, что при использовании AES или любого другого стандарта симметричного шифрования вы должны хранить ключ шифрования / дешифрования внутри вашего приложения. Если кто-нибудь обнаружит ключ, он сможет расшифровать все файлы, зашифрованные с помощью этого ключа.
Если ваше приложение будет работать под Windows, вы также можете использовать DPAPI для хранения зашифрованной информации.