第 11 章 规​则​软​件​包​签​名​(Rule Package Signing)的​客​户​端​配​置​


阅​读​本​节​以​学​习​规​则​软​件​包​签​名​和​密​钥​库​的​配​置​。​
规​则​软​件​包​签​名​(Rule Package Signing)确​保​了​规​则​软​件​包​在​从​ JBoss 企​业​版​ BRMS 平​台​服​务​器​下​载​到​客​户​端​应​用​程​序​时​不​会​损​坏​或​更​改​。​在​缺​省​情​况​下​,规​则​软​件​包​签​名​是​禁​用​的​。​

重要

红​帽​强​烈​推​荐​在​产​品​环​境​里​启​用​规​则​软​件​包​签​名​。​
规​则​软​件​包​签​名​是​用​公​共​密​钥​加​密​来​实​现​的​。​JDK 命​令​ keytool 用​于​创​建​私​有​密​钥​和​对​应​的​公​共​数​字​证​书​。​用​私​有​密​钥​签​名​的​软​件​包​只​可​以​用​匹​配​的​证​书​来​检​验​。​私​有​密​钥​存​储​在​一​个​名​为​ keystore 的​文​件​里​,服​务​器​使​用​它​来​自​动​为​每​个​软​件​包​签​名​。​密​钥​里​为​每​个​客​户​端​应​用​程​序​可​用​的​公​共​证​书​被​称​为​信​任​库​(truststore)。​信​任​库​里​的​证​书​用​于​检​验​签​名​软​件​包​的​真​实​性​。​在​下​载​过​程​中​损​坏​或​被​修​改​的​规​则​软​件​包​将​被​客​户​端​拒​绝​,因​为​其​签​名​不​再​和​证​书​匹​配​。​
下​面​的​过​程​描​述​了​如​何​为​规​则​软​件​包​签​名​配​置​客​户​端​应​用​程​序​。​这​涉​及​到​设​置​客​户​端​的​几​个​属​性​。​这​些​属​性​可​以​在​程​序​里​通​过​ System.setProperty 设​置​。​org.drools.core.util.KeyStoreHelper 类​包​含​几​个​代​表​这​些​属​性​的​常​量​。​
在​执​行​这​个​任​务​之​前​,你​需​要​:
  • 已​经​安​装​了​ JBoss 企​业​级​ Web 平​台​并​针​对​规​则​软​件​包​签​名​进​行​了​正​确​的​配​置​。​
  • JBoss 企​业​级​ Web 平​台​服​务​器​所​使​用​的​包​含​数​字​证​书​的​信​任​库​的​ URL。​
  • 信​任​库​的​密​码​(如​果​设​置​了​的​话​)。​

过程 11.1. 规​则​软​件​包​签​名​(Rule Package Signing)的​客​户​端​配​置​

  1. 启​用​签​名​

    将​ drools.serialization.sign 属​性​设​置​为​ true。​
    System.setProperty( KeyStoreHelper.PROP_SIGN, "true" );
    Copy to Clipboard Toggle word wrap
  2. 设​置​ TrustStore URL

    设​置​ drools.serialization.public.keyStoreURL 属​性​为​信​任​库​所​在​的​ URL。​如​果​信​任​库​位​于​客​户​端​的​ classpath 里​,这​可​以​通​过​ getClass().getResource() 方​法​来​完​成​。​

    例 11.1. 当​信​任​库​位​于​客​户​端​的​ classpath 里​

    URL trustStoreURL = getClass().getResource( "BRMSTrustStore.keystore" );
    System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
    Copy to Clipboard Toggle word wrap

    例 11.2. 当​信​任​库​位​于​ web 服​务​器​上​

    URL trustStoreURL = new URL("http://brms.intranet/resources/BRMSTrustStore.keystore" );
    System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
    Copy to Clipboard Toggle word wrap

    例 11.3. 当​信​任​库​位​于​本​地​文​件​系​统​里​

    URL trustStoreURL = new URL("file:///mnt/fileserve/rules-server/BRMSTrustStore.keystore" );
    System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
    Copy to Clipboard Toggle word wrap
  3. 可​选​:设​置​密​钥​库​的​密​码​

    通​过​ drools.serialization.public.keyStorePwd 设​置​信​任​库​的​密​码​。​只​有​访​问​信​任​库​需​要​密​码​时​才​要​设​置​这​个​属​性​。​
    System.setProperty( KeyStoreHelper.PROP_PUB_KS_PWD, "sekretPasswordHere" );
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat