Niagara4.9 自簽名

最近Niagara4.9更新了,自己寫的驅(qū)動要強制簽名了。整個過程還是比較簡單的,在此記錄一下

環(huán)境說明

  • java版本: 1.8.0_202
  • niagara版本:4 4.9.0.198
  • 工作目錄:D:\\test
  • 代碼目錄:D:\\test\\sign-test

生成簽名文件

打開cmd,進入工作目錄,輸入下面命令

keytool -genkey -alias my-cert -keyalg RSA -ext EKU="codeSigning" -validity 365 -keypass K3yP@ss -storepass St0reP@ss -keystore my_signing_profile.jks
執(zhí)行過程

執(zhí)行結(jié)果
  • keytool 是java自帶的一個工具具體用法大家可以自行百度一下相關(guān)信息
keytool

創(chuàng)建xml文件

創(chuàng)建和剛才生成的jks文件同名的xml文件my_signing_profile.xml
內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
  <comment>Code Signing Properties</comment>
  <entry key="niagara.signing.keypass.my-cert">K3yP@ss</entry>
  <entry key="niagara.signing.storepass">St0reP@ss</entry>
  <entry key="niagara.signing.profileType">com.tridium.signing.RestrictedSigningProfile</entry>
  <entry key="niagara.signing.standardtsa">http://timestamp.digicert.com</entry>
</properties>
注意

注意箭頭和紅框的三個地方,這是要非常注意的,這三個信息是存儲證書的信息,一定要和上面keytool命令后面的參數(shù)一致,注意特殊字符(要轉(zhuǎn)義,或盡可能不用)。

workbench信任證書

在工作目錄下執(zhí)行
keytool -exportcert -alias my-cert -keypass K3yP@ss -storepass St0reP@ss -keystore my_signing_profile.jks -rfc -file my-cert.pem

打開workbench,打開證書管理工具,將剛才生成的my-cert.pem添加到信任列表


導(dǎo)入證書

為jar包簽名

為gradle添加構(gòu)建命令

在代碼目錄下的build.gradle中添加如下代碼

subprojects { Project p ->
  p.pluginManager.withPlugin('com.tridium.niagara-module') {
    p.niagaraModule {
      certAlias = "my-cert"
    }
  }
}

構(gòu)建

方式1

在項目目錄下,執(zhí)行
gradlew.bat jar -Pniagara.signing.profile=D:\\test\\my_signing_profile.xml

方式2

在代碼目錄的gradle.properties添加配置
niagara.signing.profile=D:\\test\\my_signing_profile.xml
然后和之前打包一樣,運行g(shù)radle build就可以了

這樣打出來的jar就直接是簽好名的了,可以直接使用

注意:在安裝證書時需要三個地方都安裝,一個都不能漏了

workbench的證書管理工具

platform的證書管理工具

station的證書管理工具

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容