close
 

這段程式碼的主要功能是解密之前加密過的憑證私鑰密碼,並將解密後的結果顯示在控制台上。以下是程式碼各部分的功能說明:

  1. Decrypt-Password 函數:

    • 接受兩個參數:$KeyFilePath (存儲加密金鑰的文件路徑) 和 $EncryptedPasswordFilePath (存儲加密後密碼的文件路徑)。
    • 從指定的 $KeyFilePath 讀取加密金鑰。
    • $EncryptedPasswordFilePath 中讀取加密過的密碼。
    • 使用從檔案讀取的加密金鑰來對加密後的密碼進行解密,得到安全字串 (SecureString)。
    • 將安全字串轉換為普通字串 ($Password),以便於顯示或後續使用。
  2. 解密證書私鑰密碼:

    • 呼叫 Decrypt-Password 函數,並將加密金鑰文件路徑 ($KeyFilePath) 和加密後密碼文件路徑 ($EncryptedPasswordFilePath) 作為參數傳遞進去。
    • 函數會解密指定的加密密碼文件,並將解密後的私鑰密碼顯示在控制台上,同時以綠色文字標記操作成功的訊息。

這段程式碼與前面的加密函數結合使用,允許您在需要時安全地加密和解密憑證私鑰密碼,以確保敏感資訊的安全性。

# 定義解密函數
function Decrypt-Password {
    param (
        [string]$KeyFilePath,
        [string]$EncryptedPasswordFilePath
    )

    Write-Host "解密憑證私鑰密碼..."
    $Key = [System.Convert]::FromBase64String((Get-Content $KeyFilePath))
    $EncryptedPassword = Get-Content -Path $EncryptedPasswordFilePath
    $SecurePassword = ConvertTo-SecureString -String $EncryptedPassword -Key $Key
    $Password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePassword))
    Write-Host "憑證私鑰密碼已成功解密: $Password" -ForegroundColor Green
}

# 解密證書私鑰密碼
Decrypt-Password -KeyFilePath $KeyFilePath -EncryptedPasswordFilePath $EncryptedPasswordFilePath

 

參考資料:

ChatGPT 問答測試結果


arrow
arrow
    文章標籤
    powershell
    全站熱搜
    創作者介紹
    創作者 sungshu 的頭像
    sungshu

    sungshu手札筆記本

    sungshu 發表在 痞客邦 留言(0) 人氣()