文档

Java™教程
隐藏目录
将证书导入为受信任的证书
指南: Java SE 中的安全特性
课程:对代码进行签名并授予权限
章节:代码接收方的步骤

将证书导入为受信任的证书

在您可以授予已签名代码读取指定文件的权限之前,您需要将Susan的证书作为受信任的证书导入到密钥库中。

假设您从Susan那里收到了:

即使这些文件是您创建的,并且实际上并未传输到任何地方,您可以模拟成其他人而不是创建者和发送者Susan。假装您现在是Ray。作为Ray,您将创建一个名为exampleraystore的密钥库,并使用它来导入带有别名susan的证书。

每当您使用指定尚不存在的密钥库的keytool命令时,将创建一个密钥库。因此,我们可以通过单个keytool命令创建exampleraystore并导入证书。请在命令窗口中执行以下操作。

  1. 转到包含公钥证书文件Example.cer的目录。(实际上,您应该已经在那里,因为本课程假设您在一个目录中保持不变。)
  2. 在一行上键入以下命令:
    keytool -import -alias susan
       -file Example.cer -keystore exampleraystore
    

由于密钥库尚不存在,因此将创建它,并提示您输入密钥库密码;键入您想要的任何密码。

keytool命令将打印出证书信息并要求您进行验证,例如通过将显示的证书指纹与从另一个(受信任的)信息来源获取的指纹进行比较。(每个指纹是一个相对较短的数字,可以唯一且可靠地标识证书。)例如,在现实世界中,您可以打电话给Susan并询问她指纹应该是什么。她可以通过执行以下命令获取她创建的Example.cer文件的指纹

keytool -printcert -file Example.cer

如果她看到的指纹与keytool向您报告的指纹相同,则证书在传输过程中未被修改。在这种情况下,您允许keytool继续在密钥库中放置一个受信任的证书条目。该条目包含来自文件Example.cer的公钥证书数据,并被分配别名susan


上一页: 观察受限应用程序
下一页: 设置策略文件以授予所需权限