UPI收单服务平台证书生成及使用指引
1 证书生成
证书生成可以登录到Linux服务器上使用如下命令生成:
Lenght 2048 :
openssl genrsa -out private_signature_2048.key 2048
openssl req -new -x509 -key private_signature_2048.key -out public_signature_2048.cer -set_serial 201806211822
说明:
1、 private_signature_2048.key是生成的证书私钥
2、 2048是证书的位数。
3、 public_signature_2048.cer是生成的证书公钥
4、 201806211822为证书序列号,亦可根据自身需求填写
2 提取公钥字符串
以下是从生成的证书公钥public_signature_2048.cer中提取公钥字符串的方法,其中“file:///D:/public_signature_2048.cer”表示public_signature_2048.cer所在磁盘路径。提取的公钥字符串(public key string)用于提供银联国际进行参数配置。
public static void main(String[] args) throws Exception {
URL url=null;
try {
url = new URL("file:///D:/public_signature_2048.cer");
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
System.out.println("公钥所在路径:"+url.getFile());
X509Certificate cert = null;
try {
cert = X509Certificate.getInstance(new FileInputStream(url.getFile()));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
PublicKey publicKey = cert.getPublicKey();
String publicKeyString = "";
try {
publicKeyString = Base64Utils.encode(publicKey.getEncoded());
} catch (Exception e) {
e.printStackTrace();
}