最近在做开放平台相关的项目,外部开发者(isv)创建应用前,需要生成一对RSA公私钥对,私钥自己保留,公钥上传给我们。Isv的应用访问公司服务时,需要用私钥对请求进行加签,然后我们用他之前提供的公钥进行验签。
当isv将公钥上传后,需要对公钥的合法性进行验证,以下是验证工具类
/**
* RSA密钥合法性验证器
*
* @author xianwu.zhang
* @version $Id: RSAkeyChecker.java, v 0.1 2012-10-29 下午04:59:09 xianwu.zhang Exp $
*/
public class RSAkeyChecker {
/** 日志 */
private static final Logger logger = LoggerFactory.getLogger(RSAkeyChecker.class);
/**
* 检查公钥的合法性
*
* @param key 经过base64编码的公钥key
* @return 生成公钥未抛异常,则返回<code>true</code>,否则返回<code>false</code>
*/
public static boolean checkPublicKey(String key) {
if (