Поиск по сайту:

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)

Статьи по данной тематике