4). 执行构建
对刚刚保存的 bulid.xml 右键,选择“运行方式 > 1 Ant 构建”。
在“控制台”可以看到构建过程信息。“BUILD SUCCESSFUL”构建成功!
构建完毕后,在 Scenarist BD-J 中,对 test 项目右键,选择“刷新”,就可以在 BDMV/JAR 中看到刚刚构建好的 jar 文件。
在工作目录下,查看到刚刚打包好的 jar 文件。
七、获取 Organization ID
Organization ID 在新建密钥的时候,需要输入!
Organization ID 的获取有三种方式!
1). 使用 Scenarist BD 打开 BD Reauthor Pro 分解的原盘项目,可以在如图的属性位置,查看到 Organization ID。
2). 在 Scenarist BD-J 中,右键项目,选择“导出”。展开“BD-J > BDJO File”并选中,然后点击“下一步”。“Choose mode”选择“Modify existing BDJO file”,然后点击“Browse”,在浏览窗口中,选择到调用这个 jar 文件的 BDJO 文件,然后点击“下一步”。直到能看到 Oranization ID 的页面。
3). 使用 UltraEdit 、WinHex 、HxD 等可以进行十六进制编辑的软件,查看位于原盘 CERTIFICATE 文件夹下的 id.bdmv 文件。
如图所示,00000020h 行的 8、9、a、b 位置的四个十六进制数,就是 Organization ID。
八、给 jar 文件签名
【本节内容,更详细的信息资料可参见 [蓝光技术] Scenarist BD-J User Guide 汉化版 】
因为我们对 jar 文件进行了改动,因此必须对 jar 文件重新签名。
由于我们不是生产光盘的碟商,所以我们并不拥有原厂碟商的密钥库,因此我们必须自建密钥库来签名文件!
在wj102901大大的技术强帖[蓝光技术] 手动给BD-J原盘jar文件签名中,大大已经给出了一种修复签名的方法。
而在本文这里,只是另提供一种对所有 jar 文件的重新签名的方法而已。
【注意:这里并不是修复原版签名,而是对所有 jar 文件进行新密钥的重新签名!】
2). 新建 KeyStore 文件
切换选项至“Create New File”,选择密钥库的保存位置,设置密钥库密码,本文设置密码为“12345”。设置完毕,点击“下一步”。
在 “Choose Security Operation” 页面,选择 “Manage Keys and Certificates”(管理密钥和证书),然后点击“下一步”。
在 “Manage Keys and Certificates” 页面,选择 “Create a Key Pair”,然后点击“下一步”。
在 “Key Creation” (密钥创作)页面,输入以下属性:
Key Name 密钥对的描述性名称。
Key Password 访问密钥对时将使用的密码。当处理证书文件,签名请求,以及签名 BD-J 内容时,需要多次输入该密码。
Key Password Confirmation 在 Key Password 字段中输入相同的密钥,输入此处以进行确认。
Common Name 当使用通用名称来指代一组相关联的密钥对时,密钥对的通用名称(common name)可能与 Key Name 不同。
Email Address 负责 BD-J 内容的个人、部门、或着组织的电子邮件地址。
Organizational Unit 公司内部负责 BD-J 内容的部门。
Organization 负责 BD-J 内容的公司。
City or Locality 公司所在城市或地区。
State or Province 公司所在州或省。
Country Code 公司所在国家。
需要特别注意的是,请选择 “Specify the Organization ID”,在所提供的字段内输入之前获取的原盘 Organization ID。
这里设置密钥密码为“12345”,点击 Finish 按钮完成密钥对的创建。
3). 签名 jar 文件
在 “Choose Security Operation” 页面,选择 “Perform Signing Activities”(执行签名活动)并选取 “Sign Jar files” 选项,然后点击 “下一步”。
在 Sign JAR Files 页面,执行以下操作:
在 Key Name 字段处,从下拉列表中选择要用来签名 JAR 文件的密钥。
在 Key Password 字段处,输入密钥密码。
点击 Add JAR 按钮,从浏览窗口选择要添加到“JAR Files”列表中进行签名的 JAR 文件,然后点击“打开”按钮。
【除了添加修改好的 jar 文件外,还要添加原盘中其他的 jar 文件,因为是使用全新密钥进行签名,所以需要对所有的 jar 文件统一更新签名信息!】
点击“Finish”按钮,完成 jar 文件的签名。
4). 创建 app.discroot.crt 证书文件
在 “Choose Security Operation” 页面,选择 “Manage Keys and Certificates”,然后点击“下一步”。
在 “Manage Keys and Certificates” 页面,选择 “Create a Certificate File”,然后点击 Next 按钮。
在 “Certificate File Creation” 页面,执行以下操作:
在 Key Name 字段中,使用下拉列表选择要创建证书文件的密钥。
点击 Certificate File Name 字段旁的 Browse 按钮,为证书文件选择保存位置,然后点击“打开”按钮。
如有必须,输入 app.discroot.crt 作为证书的文件名。
点击 Finish 按钮完成证书文件的创建。
5). 至此,则完成了 jar 内 class 文件的重编译,所有 jar 文件的重签名,以及新建证书文件的工作。
九、替换原盘 jar 文件及证书文件
将 test 项目工作目录下的 BDMV\JAR 路径内的修改并签名过的 jar 文件,以及重新签名后的原盘其他 jar 文件,复制替换原盘的 BDMV/JAR 文件夹内的 jar 文件。
将 test 项目工作目录下的 app.discroot.crt 证书文件,复制替换原盘的 CERTIFICATE 文件夹内的同名证书文件。