我只是在內部測驗一些東西,現在 TRUSTWORTHY 設定為 ON 安全風險。
- 不過,我想知道,如果
TRUSTWORTHY是ON,如果UNSAFE程式集已簽名并且其中包含.pfx密鑰檔案,它會停止作業嗎? - 不確定證書是否是在幾年前創建的,或者證書或密鑰是否會過期?
這個問題涉及到:A SQL CLR Assembly set to UNSAFE with a key is no longer working
uj5u.com熱心網友回復:
如果
TRUSTWORTHY是ON,則不需要模塊簽名。此外,程式集不包含.pfx檔案。pfx檔案是一個受密碼保護的檔案,其中包含私鑰。如果使用證書(或 snk / 非對稱密鑰)簽名,則程式集包含用于驗證的公鑰。
不,您不必擔心證書的到期日期(尤其是在僅驗證已簽名的內容時,這就是這里所發生的一切)。
如果您想知道程式集是否已由強名稱密鑰 (snk) / 非對稱密鑰簽名,只需查看程式集屬性(例如
SELECT name, clr_name FROM sys.assemblies;)。如果“publickeytoken”(inclr_name)有一個值(即不是“null”),則程式集已被強命名(即用非對稱密鑰簽名)。如果您想知道程式集是否已由證書簽名,只需嘗試從該程式集創建證書:
CREATE CERTIFICATE [_TempTest] FROM ASSEMBLY [Microsoft.SqlServer.Types]; -- DROP CERTIFICATE [_TempTest];如果程式集使用證書簽名,則 CREATE 陳述句將成功。然后,放下證書。
如果程式集沒有使用證書簽名,您將收到以下錯誤:
Msg 15208, Level 16, State 31, Line XXXXX The certificate, asymmetric key, or private key file is not valid or does not exist; or you do not have permissions for it.請注意,可以使用非對稱密鑰和一個或多個證書對程式集進行簽名。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/467283.html
