对所有密钥仓库条目(密钥条目和信任证书条目)的访问都是通过唯一的别名进行的。 别名不区分大小写。 这意味着别名Hugo和Hugo指向同一个密钥库条目。
如果使用-genkey命令生成密钥对(公钥和私钥),或者如果使用-import命令将证书或证书链添加到受信任证书列表中,然后将实体添加到密钥库,则必须指定别名。 后续的keytool命令必须使用此相同的别名引用实体。
可以将pfx或p12文件用作keystore。 java.security.KeyStore支持PKCS12编码文件分析,可以使用java.security.KeyStore从. pfx或. p12文件中获取证书和私钥。
需要注意的是密钥的别名(alias )。 使用keytool工具生成证书和密钥时,系统会提示您定义别名。 但是,在使用openssl等工具生成证书和密钥时,别名不是必需的。 但是,在获取密钥和证书时,必须指定别名。
例如:
stringkeystorefile=' c ://test.p12 ';
String keypasswd='mypasswd ';
字符串密钥别名='别名';
keystore ks=keystore.getinstance (pkcs12 );
fileinputstreamfin=new file inputstream (密钥文件;
ks.load(fin,keypasswd.toCharArray ) );
privatekeyprikey=(privatekey ) ks.getkey (key alias,keypasswd.toCharArray ) );
certificate cert=ks.get certificate (key alias );
公共密钥公共密钥=cert.get公共密钥(;
如果yhm不知道别名,则可以使用KeyStore的aliases ()方法获取该文件中包含的所有别名。
由openssl生成的. p12文件。 别名例如是1、2、3 .
导入IE并导出的. pfx文件是别名{xxxxx
_