RSA算法加密,加密/解密方式分为通过证书/字符串进行加密解密
一、加密
1、加密方案
为避免用户需要在多个业务系统上进行登陆和注销,通过RSA单点登录方式来进行认证管理。
加密方式:通常是由用户信息和时间戳组成的信息串,利用预定的公钥对字符串进行加密。
2、公钥的获取
获取公钥有两种方式证书加密和公钥字符串加密
2.1、证书加密
File certFile = new File(“证书地址”);
//公钥是否存在
if (!certFile.exists()) {
throw new BOException("公钥证书不存在,请联系维护人员。");
}
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate)cf.generateCertificate(
new FileInputStream(certFile));
PublicKey publicKey = cert.getPublicKey();
2.2、公钥字符串加密
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(Base64.