# 将证书导入为可信证书

> 原文： [https://docs.oracle.com/javase/tutorial/security/toolfilex/rstep1.html](https://docs.oracle.com/javase/tutorial/security/toolfilex/rstep1.html)

假设你是露丝，并从斯坦史密斯收到

*   签名的 JAR 文件`sContract.jar`包含合同
*   文件`StanSmith.cer`包含与用于签署 JAR 文件的私钥对应的公钥的公钥证书

在使用`jarsigner`工具检查 JAR 文件签名的真实性之前，需要将 Stan 的证书导入密钥库。

即使你（充当斯坦）创建了这些文件并且它们实际上并未被运送到任何地方，你可以模拟除了创造者和发送者之外的其他人，斯坦。作为 Ruth，键入以下命令以创建名为`exampleruthstore`的密钥库，并将证书导入别名为`stan`的条目。

```
keytool -import -alias stan -file StanSmith.cer -keystore exampleruthstore

```

由于密钥库尚不存在，`keytool`将为您创建密钥库。它会提示您输入密钥库密码。

`keytool`打印证书信息并要求您进行验证;例如，通过将显示的证书指纹与从另一（可信）信息源获得的指纹进行比较。 （每个指纹都是一个相对较短的数字，可以唯一且可靠地识别证书。）例如，在现实世界中，您可以给 Stan 打电话并询问他指纹应该是什么。他可以通过执行命令获得他创建的`StanSmith.cer`文件的指纹

```
keytool -printcert -file StanSmith.cer

```

如果他看到的指纹与`keytool`报告给你的指纹相同，那么你们都可以认为证书在传输过程中没有被修改过。您可以放心地让`keytool`进行将“受信任的证书”条目放入您的密钥库。此条目包含文件`StanSmith.cer`中的公钥证书数据。 `keytool`将别名`stan`分配给此新条目。