java_fortify Scan:
问题:
1.Key Management: Hardcoded Encryption Key
问题解释:
问题1.秘钥使用硬编码方式。
解决方案:
使用Keystore生成存储AES密钥文件
使用Keystore生成存储AES密钥文件工具类(JDK1.8):
package com.study.util;
import com.study.common.Consts;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.security.cert.CertificateException;
/**
* keystore生成存储AES密钥文件
*
*/
public class KeyStoreUtils {
/**
* 功能:把秘钥保存到秘钥库文件中
* @param key 秘钥
* @param alias 别名
* @param pdKey 秘钥密码
* @param pdKeyStore 秘钥库密码
* @param ksFileName 秘钥库文件名称
*/
private static void initKeyStore(Key key,String alias,String pdKey,String pdKeyStore,String ksFileName) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException {
KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(null, nu