完善主體資料,免費贈送VIP會員!
      * 主體類型
      * 企業名稱
      * 信用代碼
      * 所在行業
      * 企業規模
      * 所在職位
      * 姓名
      * 所在行業
      * 學歷
      * 工作性質
      請先選擇行業
      您還可以選擇以下福利:
      行業福利,領完即止!

      下載app免費領取會員

      NULL

      ad.jpg

      Revit二次開發教程:如何對插件進行雙數字簽名

      發布于:2019-02-20 09:25:22

      今天說說數字簽名這個事情。一般來說公司發布插件產品肯定要對插件進行數字簽名的。之前的文章也提到,Autodesk Revit自2017版開始對插件進行數字簽名認證。

      所謂數字簽名就是添加到文件的電子安全標記。使用它可以驗證文件的發布者以及幫助驗證文件自被數字簽名后是否發生更改。如果文件沒有有效的數字簽名,則無法確保該文件確實來自它所聲稱的源,或者無法確保它在發布后未被篡改(可能被病毒篡改)。

      當每次編譯完dll,然后用Revit加載調試時,Revit都會提示“永遠加載”,“加載一次”,“不載入”三種情況。

      a. 如果你就編譯一次,以后永遠都不會編譯了,就選擇“永遠加載”。這種情況一般是我們從開源社區下載常用工具代碼,自己編譯dll的情況。比如自己從Github編譯Revit Lookup工具。

      b. “加載一次”, 一般就是調試的時候常用的情況。

      c. "不載入",字面意思,不過多解釋。


      那么如果我們購買了數字簽名證書,該如何對自己的dll進行簽名呢?什么是雙數字簽名?怎么進行雙數字簽名?這都是我需要告知大家的。

      假設我們已經從安全證書公司購買了數字簽名證書,我們對dll最佳的簽名方式是使用腳本簽名,常用的就是bat腳本。

      雙數字簽名指的是既對dll進行sha1算法簽名,又對其使用sha256簽名?!皊ha1加密算法的不安全性越來越高,sha1造假成本越來越低,隨即微軟、谷歌等IT巨頭相繼發布棄用sha1加密算法聲明,第三方認證機構自2016年1月1日起,將全面停止簽發SHA1算法的數字證書。” SHA1算法被SHA-256所取代,所以我們的插件dll需要雙簽名操作,當然你可以只用sha256。

      進行簽名前的文件清單:

      1. 證書文件:xxx.pfx

      2. 你的待簽名dll: xxx.dll


      3. signtool及其依賴項:

      a. appxpackaging.dll

      b. appxsip.dll

      c. Microsoft.ComparePackage.Lib.dll

      d. Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest

      e. Microsoft.Windows.Build.Appx.AppxSip.dll.manifest

      f. Microsoft.Windows.Build.Appx.OpcServices.dll.manifest

      g. Microsoft.Windows.Build.Signing.mssign32.dll.manifest

      h. Microsoft.Windows.Build.Signing.wintrust.dll.manifest

      i. mssign32.dll

      j. opcservices.dll

      k.signtool.exe

      l. signtool.exe.manifest

      m. wintrust.dll

      o. wintrust.dll.ini


      以上這些文件上哪里找呢?

      在Win10系統里:

      D:\Windows Kits\10\bin\10.0.17134.0\x86文件夾中

      把他們復制出來的時候記得也放一個文件夾里,因為signtool.exe是依賴于這些的。


      那么為什么是win10系統,win7可以不?

      貌似不行唉,版本太低,反正我自己測是簽不了sha256,想了好久。。。

      下載個Win10的SDK里應該也會有上述文件。

      需要說明的是exe,dll可以雙數字簽名。msi只能sha1,不能sha256,這是我測試的結果,歡迎來群里討論。


      最后祭出腳本,方便各位local bat script或者server Jenkins全自動化工作:

      SHA1:

      signtool.exe sign /f xxx.pfx /p password /t http://timestamp.verisign.com/scripts/timestamp.dll /v xxx.dll 


      SHA256:

      signtool.exe sign /f xxx.pfx /p password /fd sha256 /tr sign256url /v /as xxx.dll

      紅色部分需要全路徑或相對路徑,因為每家sha256的簽名url不同,所以藍色部分填上購買的數字簽名公司對應的時間戳地址。


      本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

      未標題-1.jpg

      上一篇:revit材質透明度設置

      下一篇:Civil 3D如何創建三維曲線

      主站蜘蛛池模板: 亚洲视频一区在线播放| 一区二区三区www| 无码毛片一区二区三区视频免费播放| 国产一区二区在线视频播放| 亚洲爆乳精品无码一区二区三区 | 国偷自产一区二区免费视频| 老熟妇高潮一区二区三区| 亚洲福利视频一区| 国产免费无码一区二区| 国产精品主播一区二区| 白丝爆浆18禁一区二区三区| 亚洲欧美日韩中文字幕在线一区 | 精品一区二区三区四区电影 | 亚洲av无码一区二区三区网站| 精品国产AV无码一区二区三区| 中文字幕无线码一区二区 | 国产成人久久精品麻豆一区| 影音先锋中文无码一区| 日韩人妻精品一区二区三区视频| 中文字幕精品无码一区二区| 久久se精品一区精品二区国产| 国产一区二区三区内射高清| 在线不卡一区二区三区日韩| 国产麻豆精品一区二区三区| 无码视频一区二区三区| 天美传媒一区二区三区| 老鸭窝毛片一区二区三区| 精品国产一区二区三区在线观看| www亚洲精品少妇裸乳一区二区| 国产激情一区二区三区 | 99精品国产一区二区三区| 91麻豆精品国产自产在线观看一区 | 精品一区二区三区在线视频观看| 日韩免费无码一区二区视频| 国产综合精品一区二区| 爆乳熟妇一区二区三区霸乳| 综合无码一区二区三区| 亚洲欧洲一区二区| 亚洲欧美成人一区二区三区| 日韩AV无码一区二区三区不卡 | 精品黑人一区二区三区|