完善主體資料,免費贈送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免费一区| 免费萌白酱国产一区二区三区 | 国产成人精品无码一区二区老年人| 国模视频一区二区| 香蕉久久av一区二区三区| 中文字幕无线码一区| 日本一区二区在线不卡| 丰满爆乳无码一区二区三区| 国产精品视频一区二区三区经| 精品国产免费一区二区三区香蕉| 精品人妻少妇一区二区三区在线| 国产精品一区二区四区| 韩国精品一区二区三区无码视频| 精品无人区一区二区三区在线| 无码AV天堂一区二区三区| 中文字幕无码一区二区免费| 国产在线精品一区二区三区不卡| 无码日韩精品一区二区人妻 | 中文字幕精品一区二区2021年 | 老熟妇仑乱视频一区二区 | 亚洲免费一区二区| 亚洲福利精品一区二区三区| 国产观看精品一区二区三区| www一区二区www免费| 香蕉一区二区三区观| 国产在线一区二区综合免费视频| 无码人妻久久一区二区三区| 日韩人妻不卡一区二区三区 | 中文字幕无码免费久久9一区9| 日韩一区二区三区在线观看| 国产精品亚洲不卡一区二区三区 | 国产在线无码视频一区| 免费国产在线精品一区| 熟妇人妻系列av无码一区二区 | 亚洲一区AV无码少妇电影| 亚州AV综合色区无码一区 | 无码一区二区波多野结衣播放搜索| 亚洲Av永久无码精品一区二区| 日韩精品一区二区三区老鸦窝| 波多野结衣一区在线观看| 日韩精品无码一区二区视频|