完善主體資料,免費贈送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一区二区三区日韩| 亚洲美女高清一区二区三区 | 国产亚洲综合一区二区三区| 精品熟人妻一区二区三区四区不卡| 国产婷婷色一区二区三区| 亚洲综合无码精品一区二区三区| 久久久久久综合一区中文字幕| 香蕉视频一区二区三区| 无码8090精品久久一区| 久久亚洲中文字幕精品一区四 | 无遮挡免费一区二区三区| 日本在线观看一区二区三区| 成人精品一区二区三区不卡免费看| 精品日产一区二区三区手机| AA区一区二区三无码精片 | 亚洲一区二区无码偷拍| 精品国产福利第一区二区三区| 中文字幕一区二区在线播放 | 久久精品一区二区国产| 久久精品中文字幕一区| 国产成人精品视频一区| 亚洲一区二区三区丝袜| 无码视频一区二区三区在线观看| 亚洲欧洲专线一区| 色一情一乱一区二区三区啪啪高| 中文字幕无码免费久久9一区9| 亚洲av乱码一区二区三区按摩| 亚洲av鲁丝一区二区三区| 亚洲一区二区精品视频| 无码8090精品久久一区| 精品久久久中文字幕一区 | 国模大胆一区二区三区| 亚洲日韩一区精品射精| 制服丝袜一区在线|