none
SecureString RRS feed

  • Вопрос

  • Добрый день
    есть необходимость сохранить пароль в файле.пароль от почтового ящика.хотелось бы его как то хотя бы минимально закрыть. пробую это сделать через ConvertTo-SecureString
     кусок скрипта для сохранения пароля
    $PasswordTextBox                = New-Object System.Windows.Forms.TextBox

    $PasswordTextBox.Text | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-secureString | Out-File $env:appdata\1\2.txt


    при отправке  сообщения 
    Get-Content $env:APPDATA\appdata\1\2.txt | ConvertTo-SecureString

    однако я что то делаю не так .потому что письмо не отправляется(если пытаться его так шифровать)

    ошибка
    Серверу SMTP требовалось защищенное соединение, или подлинность клиента не была установлена.

    проблемам именно в неправильной шифровке пароля


    вопросов два
    1 что делается не правильно
    2 есть ли способ сделать это по другому (а именно зашифровать текстовый фаил )
    заранее спасибо 



    • Изменено last_kpojl 26 октября 2014 г. 17:04
    26 октября 2014 г. 14:29

Ответы

  • $PasswordTextBox = New-Object System.Windows.Forms.TextBox
    $PasswordTextBox.Text | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File $env:appdata\1\2.txt
    $secureString = Get-Content $env:APPDATA\appdata\1\2.txt | ConvertTo-SecureString
    
    $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)
    $PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) 
    И уже в скрипте подставляете переменную $PlainPassword.
    • Предложено в качестве ответа Vector BCOModerator 29 октября 2014 г. 12:08
    • Помечено в качестве ответа last_kpojl 29 октября 2014 г. 15:18
    29 октября 2014 г. 11:16
    Отвечающий

Все ответы

  • Серверу SMTP требовалось защищенное соединение

    Может надо почтовый сервер перестроить на SSL протокол?

    27 октября 2014 г. 13:40
  • нет.не в SSL дело.скрипт рабочий.без шифровки письма доходят.проблема именно в неправильности шифрова ния
    27 октября 2014 г. 14:49
  • Get-Content $env:APPDATA\appdata\1\2.txt | ConvertTo-SecureString

    вы содержимое файла 2.txt переводите в зашифрованый вид, а он и так уже зашифрованый, вам нужно почитать про хранение паролей и восстановление этих паролей в/из файлов

    27 октября 2014 г. 14:59
    Модератор
  • $PasswordTextBox = New-Object System.Windows.Forms.TextBox
    $PasswordTextBox.Text | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File $env:appdata\1\2.txt
    $secureString = Get-Content $env:APPDATA\appdata\1\2.txt | ConvertTo-SecureString
    
    $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)
    $PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) 
    И уже в скрипте подставляете переменную $PlainPassword.
    • Предложено в качестве ответа Vector BCOModerator 29 октября 2014 г. 12:08
    • Помечено в качестве ответа last_kpojl 29 октября 2014 г. 15:18
    29 октября 2014 г. 11:16
    Отвечающий