完善主體資料,免費贈送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如何創建三維曲線

    主站蜘蛛池模板: 国产一区二区三区电影| 亚洲国产成人久久一区二区三区 | 国精产品一区二区三区糖心| 亚洲一区二区三区在线观看精品中文 | 日韩一区二区三区在线 | 国产一区二区三区福利| 蜜臀AV一区二区| 亚洲AV日韩AV天堂一区二区三区| 日本免费一区二区三区最新vr| 农村乱人伦一区二区| 无码人妻AV免费一区二区三区| 超清无码一区二区三区| 波多野结衣一区二区三区高清av | 亚洲AV日韩综合一区| 亚洲熟妇av一区| 精品成人乱色一区二区| 色偷偷av一区二区三区| 国产激情无码一区二区app| 精品福利一区二区三区| 国产成人精品一区在线 | 亚洲AV无码一区二区一二区| 精品一区精品二区制服| 亚洲天堂一区二区三区| 亚洲国产精品综合一区在线| 99久久综合狠狠综合久久一区| 国精品无码一区二区三区在线 | 高清在线一区二区| 国产精品男男视频一区二区三区| 视频一区在线播放| 国模无码一区二区三区不卡| 国产一区二区三区精品视频| 中文字幕aⅴ人妻一区二区| 国产在线一区二区| 久久久老熟女一区二区三区| 亚洲一区二区三区高清视频| 一区二区亚洲精品精华液| 欧洲亚洲综合一区二区三区| 日本精品一区二区三区在线视频一 | 精品人妻码一区二区三区 | 日本亚洲国产一区二区三区| 亚洲AV无码一区二区三区系列|