From a13a706e14318e05008376e2b263ef9034b681f7 Mon Sep 17 00:00:00 2001 From: Lord Hepipud Date: Thu, 17 Oct 2019 09:57:16 +0200 Subject: [PATCH] Added SecureString convertion functions --- lib/core/tools/ConvertFrom-IcingaSecureString.psm1 | 13 +++++++++++++ lib/core/tools/ConvertTo-IcingaSecureString.psm1 | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 lib/core/tools/ConvertFrom-IcingaSecureString.psm1 create mode 100644 lib/core/tools/ConvertTo-IcingaSecureString.psm1 diff --git a/lib/core/tools/ConvertFrom-IcingaSecureString.psm1 b/lib/core/tools/ConvertFrom-IcingaSecureString.psm1 new file mode 100644 index 0000000..77aa1d1 --- /dev/null +++ b/lib/core/tools/ConvertFrom-IcingaSecureString.psm1 @@ -0,0 +1,13 @@ +function ConvertFrom-IcingaSecureString() +{ + param([SecureString]$SecureString); + + if ($SecureString -eq $null) { + return ''; + } + + [IntPtr]$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString) + [string]$String = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) + + return $String; +} diff --git a/lib/core/tools/ConvertTo-IcingaSecureString.psm1 b/lib/core/tools/ConvertTo-IcingaSecureString.psm1 new file mode 100644 index 0000000..76831c6 --- /dev/null +++ b/lib/core/tools/ConvertTo-IcingaSecureString.psm1 @@ -0,0 +1,12 @@ +<# + # Helper class allowing to easily convert strings into SecureStrings + # and vice-versa + #> +function ConvertTo-IcingaSecureString() +{ + param( + [string]$String + ); + + return (ConvertTo-SecureString -AsPlainText $string -Force); +}