EncryptFiles.ps1: Инструмент для шифрования содержимого файлов с помощью PowerShell и сертификатов
В двух моих предыдущих постах я показал, как шифровать и расшифровывать файлы с помощью сертификатов. Думаю, пришло время автоматизировать эту процедуру. Короче говоря, я предоставлю инструмент, который позволит вам шифровать файлы. Не беспокойтесь о сертификате, инструмент спросит вас, есть ли у вас уже один. Если нет, он будет создан. Вот как это работает.
Почему вы хотите это сделать? Возможно, вы хотите зашифровать содержимое файла или защитить файл с паролями. Я никогда не рекомендовал бы хранить пароли в открытом виде, но мой опыт подсказывает, что это все еще довольно часто встречается. Положите этому конец! 😉
Давайте погрузимся.
EncryptFiles.ps1 в действии (без сертификата)
После того как вы загрузите инструмент (ссылка для загрузки ниже), запустите его. Вам будет предложено указать, есть ли у вас уже сертификат. На этом первом этапе у нас его нет.
Нажмите N и введите имя сертификата. Сертификат будет создан ...
Вы должны ввести пароль для pfx файла. Это необходимо, потому что вы хотите иметь резервную копию сертификата, поверьте мне 😉 В моем инструменте создание резервной копии вновь созданного сертификата обязательно.
Теперь введите путь к файлу для шифрования. После этого откроется Блокнот, и вы сможете увидеть ваш зашифрованный файл.
EncryptFiles.ps1 в действии (у вас есть сертификат)
Если у вас уже есть сертификат (я полагаю, у большинства читателей его нет), первая часть, которая создает новый самоподписанный сертификат, будет пропущена.
После нажатия клавиши Y откроется окно, в котором вам нужно выбрать свой сертификат. Убедитесь, что вы не выбрали неправильный. Сертификат должен иметь закрытый ключ и быть предназначен для шифрования документов, в противном случае вы получите ошибку.
Сертификат
Я забыл упомянуть, что вы единственный человек на этой планете, который может расшифровывать файлы, которые вы зашифровали, потому что вы являетесь владельцем закрытого ключа сертификата. Откройте certmgr.msc и посмотрите на свой сертификат.
Где резервная копия сертификата? Вы можете найти ее в своей домашней директории.
Get-ChildItem $home
Поторопись и сохрани это на внешний диск.
Расшифруй это
Кстати, полагаю, может случиться так, что вам позже захочется расшифровать файл 😉 Вот команда для расшифровки. Обратите внимание, что показанный файл зашифрован, и команда Unprotect-CmsMessage расшифрует его.
Unprotect-CmsMessage -Path C:\Temp\passwords.txt
Скачать
Вы можете скачать код здесь:
EncryptFiles.ps1
После того как вы его загрузили, сохраните его там, где хотите. Затем запустите его из этого места.
Всего наилучшего!
Связанные статьи
Вы не пожалеете, посмотрев мои другие две статьи:
PowerShell: Шифрование и расшифрование данных с использованием сертификатов (открытый ключ/закрытый ключ)
PowerShell: Шифруйте и храните свои пароли и используйте их для удаленной аутентификации (Protect-CmsMessage)







