Загрузка данных


Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Попробуйте новую кроссплатформенную оболочку PowerShell (https://aka.ms/pscore6)

PS C:\Users\User.ACER-A9-68> # 1
>> $cert = New-SelfSignedCertificate -Subject "CN=LabCert" -Type DocumentEncryptionCert -KeyAlgorithm RSA -KeyLength 2048 -CertStoreLocation Cert:\CurrentUser\My
>> Export-Certificate -Cert $cert -FilePath C:\lab\cert.cer | Out-Null
>> Export-PfxCertificate -Cert $cert -FilePath C:\lab\cert.pfx -Password $pass | Out-Null
>>
>> # 2
>> $text = "Фелионидов Данил Сергеевич"
>> $text | Set-Content C:\lab\a.txt -Encoding UTF8
>> $text | Set-Content C:\lab\b.txt -Encoding UTF8
>>
>> # 3
>> Protect-CmsMessage -To $cert -Path C:\lab\a.txt -OutFile C:\lab\a.enc
>> $pub = $ext::GetRSAPublicKey((New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\lab\cert.cer")))
>> [IO.File]::WriteAllBytes("C:\lab\b.enc", $pub.Encrypt([IO.File]::ReadAllBytes("C:\lab\b.txt"), $pad))
>> "=== ЗАШИФРОВАННЫЙ a.enc ==="; Get-Content C:\lab\a.enc | Select-Object -First 4
>>
>> # 4
>> copy C:\lab\a.enc, C:\lab\b.enc, C:\lab\cert.pfx C:\lab2
>> Get-ChildItem Cert:\CurrentUser\My | Where-Object Subject -eq "CN=LabCert" | Remove-Item
>> Unprotect-CmsMessage -Path C:\lab2\a.enc
>>
>> # 5
>> Import-PfxCertificate -FilePath C:\lab2\cert.pfx -CertStoreLocation Cert:\CurrentUser\My -Password $pass | Out-Null
>> Unprotect-CmsMessage -Path C:\lab2\a.enc | Set-Content C:\lab2\a_dec.txt -Encoding UTF8
>> $c = Get-ChildItem Cert:\CurrentUser\My | Where-Object Subject -eq "CN=LabCert"
>> $priv = $ext::GetRSAPrivateKey($c)
>> [IO.File]::WriteAllBytes("C:\lab2\b_dec.txt", $priv.Decrypt([IO.File]::ReadAllBytes("C:\lab2\b.enc"), $pad))
>>
>> # 6
>> "=== ОРИГИНАЛЫ ==="; type C:\lab\a.txt; type C:\lab\b.txt
>> "=== РАСШИФРОВАНО ==="; type C:\lab2\a_dec.txt; type C:\lab2\b_dec.txt
Export-PfxCertificate : Параметры Password и ProtectTo не могут отсутствовать одновременно
строка:4 знак:1
+ Export-PfxCertificate -Cert $cert -FilePath C:\lab\cert.pfx -Password ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Export-PfxCertificate], ArgumentException
    + FullyQualifiedErrorId : NullInput,Microsoft.CertificateServices.Commands.ExportPfxCertificate

Невозможно вызвать метод для выражения со значением NULL.
строка:13 знак:1
+ $pub = $ext::GetRSAPublicKey((New-Object System.Security.Cryptography ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
строка:14 знак:1
+ [IO.File]::WriteAllBytes("C:\lab\b.enc", $pub.Encrypt([IO.File]::Read ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

=== ЗАШИФРОВАННЫЙ a.enc ===
-----BEGIN CMS-----
MIIBygYJKoZIhvcNAQcDoIIBuzCCAbcCAQAxggFCMIIBPgIBADAmMBIxEDAOBgNVBAMMB0xhYkNl
cnQCEC7lR6gw3IyAQiuHRtICjFQwDQYJKoZIhvcNAQEHMAAEggEAlRfDcG0MnihRv9Gf50yYTjWz
5TYMZmfVwf9bC9vHXea8JdWxigiQ1CB3lqkB/V/ZvoXUTvflkqSnwSpVB7me/COt1VhZ8uEzT8V1
Unprotect-CmsMessage : В сообщении с "упакованными" данными не указан получатель.
строка:20 знак:1
+ Unprotect-CmsMessage -Path C:\lab2\a.enc
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Unprotect-CmsMessage], CryptographicException
    + FullyQualifiedErrorId : System.Security.Cryptography.CryptographicException,Microsoft.PowerShell.Commands.Unprot
   ectCmsMessageCommand

Import-PfxCertificate : Для PFX-файла, который вы пытаетесь импортировать, требуется другой пароль либо членство в субъ
екте Active Directory, на уровне которого он защищен.
строка:23 знак:1
+ Import-PfxCertificate -FilePath C:\lab2\cert.pfx -CertStoreLocation C ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-PfxCertificate], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.CertificateServices.Commands.ImportPfxCer
   tificate

Unprotect-CmsMessage : В сообщении с "упакованными" данными не указан получатель.
строка:24 знак:1
+ Unprotect-CmsMessage -Path C:\lab2\a.enc | Set-Content C:\lab2\a_dec. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Unprotect-CmsMessage], CryptographicException
    + FullyQualifiedErrorId : System.Security.Cryptography.CryptographicException,Microsoft.PowerShell.Commands.Unprot
   ectCmsMessageCommand

Невозможно вызвать метод для выражения со значением NULL.
строка:26 знак:1
+ $priv = $ext::GetRSAPrivateKey($c)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
строка:27 знак:1
+ [IO.File]::WriteAllBytes("C:\lab2\b_dec.txt", $priv.Decrypt([IO.File] ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

=== ОРИГИНАЛЫ ===
Фелионидов Данил Сергеевич
Фелионидов Данил Сергеевич
=== РАСШИФРОВАНО ===
Фелионидов Данил Сергеевич

Фелионидов Данил Сергеевич
PS C:\Users\User.ACER-A9-68>