有什麼方法可以確保下載的檔案是來自 Microsoft 的嗎?

有什麼方法可以確保下載的檔案是來自 Microsoft 的嗎?

有什麼方法可以確保已下載或系統上存在的檔案來自 Microsoft 並且未被篡改?如果是的話,有什麼PowerShell方式嗎?

我正在考慮使用Get-AuthenticodeSignature命令列開關,但我不確定我是否朝著正確的方向前進。

有人可以幫我解決這個問題嗎?

以下是我得到的文件的輸出 -

PS C:> Get-AuthenticodeSignature -FilePath .\sts2016-kb3141486-fullfile-x64-glb.exe |佛羅裡達州

SignerCertificate :[主題] CN=Microsoft Corporation、OU=MOPR、O=Microsoft Corporation、L=Redmond、S=Washington、C=US

                    [Issuer]
                       CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US

                    [Serial Number]
                       330000014096A9EE7056FECC07000100000140

                    [Not Before]
                       8/18/2016 8:17:17 PM

                    [Not After]
                       11/2/2017 8:17:17 PM

                    [Thumbprint]
                       98ED99A67886D020C564923B7DF25E9AC019DF26

時間戳證書:

狀態:有效

StatusMessage:簽章已驗證。

路徑:C:\sts2016-kb3141486-fullfile-x64-glb.exe

簽名類型:驗證碼

IsOSBinary:假

因此,如果僅檢查一個文件並且它具有相同的發行者並且其簽名已驗證,我可以認為該文件是安全的嗎?

謝謝!

答案1

您可以使用校驗和,或者 Microsoft 在其下載頁面上將其稱為“包哈希”。這是可以從檔案建立的哈希值。從資訊頁面軟體您提供的,向下是包含文件哈希資訊的部分。

在此輸入影像描述

您可以使用此資訊來確認您已下載正確的軟體。 PowerShell 有一個名為 Get-FileHash 的 cmdlet,您可以在該檔案上執行該 cmdlet。預設使用 SHA256。您可以使用 -Algorithm 參數來使用不同的演算法。我在下面的範例中使用了 SHA1,因為它與上面的螢幕截圖相符。如果您使用 -Algorithm SHA256,它與螢幕截圖中的「Package hash SHA 2」相符。

Get-FileHash C:\sts2016-kb3141486-fullfile-x64-glb.exe -Algorithm SHA1

Algorithm       Hash                                       Path                                                                                                                             
---------       ----                                       ----                                                                                                                             

SHA1            1B30B50FEB5FB3F8D764C6C0D6523DBA5BE05C1E   C:\sts2016-kb3141486-fullfile-x64-glb.exe

如果哈希值匹配,您就可以放心下載。

謝謝,蒂姆。

相關內容