生成license用于验证证书

生成证书放到程序中

FileInputStream fis = new FileInputStream("outputLicense.xml");//输入
			FileOutputStream fos = new FileOutputStream("license.enc");//输出
			
			Key key = new EncryptionDecryption().getKey(PASS_PHRASE.getBytes());
			Cipher cipher = Cipher.getInstance("AES");
			cipher.init(Cipher.ENCRYPT_MODE, key);
	

			cipher.doFinal(PASS_PHRASE.getBytes());

			//将fis加密保存到fos
			CipherOutputStream cos = new CipherOutputStream(fos, cipher);
			byte[] bytes = new byte[1024];
			while (true) {
				int rc = fis.read(bytes);
				if (rc == -1) {
					break;
				}
				cos.write(bytes, 0, rc);
			}
			fis.close();
			cos.flush();
			cos.close();
			fos.close();

登陆或者启动时检验证书

 Key key = new EncryptionDecryption().getKey(PASS_PHRASE.getBytes());
            Cipher cipher = Cipher.getInstance("AES");//加密方法
            cipher.init(Cipher.DECRYPT_MODE, key);
            InputStream is = new FileInputStream(PATH+"license.enc");//加密后的license文件
            CipherInputStream cis = new CipherInputStream(is, cipher);

            int offset = 0;
            byte[] bytes = new byte[2048];
            while (true)
            {
                int rc = cis.read(bytes, offset, bytes.length - offset);
                if (rc == -1)
                {
                    break;
                }
                offset += rc;
            }
            is.close();
            cis.close();
            //读入到bean中
            Properties licenseProps = new Properties();
            licenseProps.loadFromXML(new ByteArrayInputStream(bytes, 0, offset));
            license = new License(licenseProps);


阅读更多
换一批

没有更多推荐了,返回首页