|
@@ -0,0 +1,62 @@
|
|
|
+"""
|
|
|
+功能测试http接口
|
|
|
+"""
|
|
|
+
|
|
|
+from flask import Blueprint, request, send_file, jsonify
|
|
|
+
|
|
|
+from watermark_generate.exceptions import BusinessException
|
|
|
+from watermark_generate import logger
|
|
|
+from watermark_generate.tools import sign_verify
|
|
|
+
|
|
|
+test = Blueprint('test', __name__)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@test.route('/test/sign', methods=['POST'])
|
|
|
+def test_sign():
|
|
|
+ """
|
|
|
+ 远程测试签名功能
|
|
|
+ raw_data: 待签名的原文信息
|
|
|
+
|
|
|
+ :return: 签名值,公钥证书
|
|
|
+ """
|
|
|
+ data = request.json
|
|
|
+ logger.info(f'sign test request: {data}')
|
|
|
+ # 获取请求参数
|
|
|
+ raw_data = data.get('raw_data')
|
|
|
+
|
|
|
+ if raw_data is None:
|
|
|
+ raise BusinessException(message='原文不可为空', code=-1)
|
|
|
+
|
|
|
+ sign_data, public_key = sign_verify.get_sign(raw_data)
|
|
|
+
|
|
|
+ return jsonify({'sign_data': sign_data, 'public_key': public_key}), 200
|
|
|
+
|
|
|
+
|
|
|
+@test.route('/test/verify', methods=['POST'])
|
|
|
+def test_verify():
|
|
|
+ """
|
|
|
+ 远程测试验签功能
|
|
|
+ raw_data: 待签名的原文信息
|
|
|
+ sign_data: 签名值
|
|
|
+ public_key: 签名公钥
|
|
|
+
|
|
|
+ :return: 验签结果
|
|
|
+ """
|
|
|
+ data = request.json
|
|
|
+ logger.info(f'sign test request: {data}')
|
|
|
+ # 获取请求参数
|
|
|
+ raw_data = data.get('raw_data')
|
|
|
+ sign_data = data.get('sign_data')
|
|
|
+ public_key = data.get('public_key')
|
|
|
+
|
|
|
+ if raw_data is None:
|
|
|
+ raise BusinessException(message='原文不可为空', code=-1)
|
|
|
+ if sign_data is None:
|
|
|
+ raise BusinessException(message='签名值不可为空', code=-1)
|
|
|
+ if public_key is None:
|
|
|
+ raise BusinessException(message='公钥不可为空', code=-1)
|
|
|
+
|
|
|
+ verify_result = sign_verify.verify_sign(raw_data, sign_data, public_key)
|
|
|
+
|
|
|
+ return jsonify({'verify_result': verify_result}), 200
|