修改拦截策略的证书信息校验规则:

1. Keyring的下拉列表显示全部已生效的证书;
2. 如选择了实体证书,必须配置域名,或者IP与域名的组合配置;
3.
域名配置,如匹配方式为完全匹配,则域名必须与所选择的实体证书的CN和SAN相同。如匹配方式为后缀匹配,则域名须与所选择的实体证书的CN和SAN后缀相同;
4. 如选择了中间证书或者根证书,则可配置IP,或者域名,或者两者组合;

Conflicts:
	src/main/resources/messages/message_en.properties
	src/main/resources/messages/message_ru.properties
	src/main/resources/messages/message_zh_CN.properties
This commit is contained in:
zhangwei
2019-01-19 14:39:40 +06:00
parent 9e6e2fbd37
commit aa5eccf995
5 changed files with 60 additions and 30 deletions

View File

@@ -50,15 +50,25 @@
var flag = true;
var actionValue=$("input[name=action]:checked").val();
flag=validDomain(actionValue);
if(!flag){
return;
}
//代表所有业务都隐藏了,提示必须增加一种业务数据
if($(".boxSolid").length ==$(".boxSolid.hidden").length){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}else{
$(".boxSolid").each(function(){
if($(this).hasClass("intercept_domain_div")){
var inputObj = $(this).find("input[name$='cfgRegionCode']");
flag=validDomain(actionValue,inputObj);
if(!flag){
return;
}
}
});
if(!flag){
return;
}
}
//代表所有区域都隐藏了,提示必须增加个区域信息
@@ -188,20 +198,27 @@
$("#certDomain").addClass("hidden");
}
}
var validDomain=function(actionValue){
var validDomain=function(actionValue,inputObj){
var flag=false;
if(actionValue == 1){
var serviceType=$(inputObj).attr("serviceType");
var prefixName=$(inputObj).attr("name").split("cfgRegionCode")[0];
//var matchMethod=$("select[name='"+prefixName+"matchMethod']").val();
var cert=$(".monitAction").find("select[name='userRegion1']").val();
var keyringType=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("keyringType");
if(cert != '' && keyringType == 'end-entity'){
var domainDiv = $(inputObj).parent(".intercept_domain_div").is(':hidden');
if(domainDiv){
top.$.jBox.tip("<spring:message code='intercep_domain_required_tip'/>", "<spring:message code='info'/>");
return false;
}
var cn=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("cn");
if(cn !='' && cn != null){
var cnReg = new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+cn.replace("*","")+')+$');
var san=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("san");
if(san != null && san !=''){
$("input[name$='cfgRegionCode'").each(function(){
var serviceType=$(this).attr("serviceType");
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
//$(".intercept_domain_div").each(function(){
if(serviceType == "intercept_domain"){
var domain=$("input[name='"+prefixName+"cfgKeywords']").val();
var domain=domain.trim();
@@ -212,25 +229,26 @@
break;
}
var sanStr=san.split(",")[i].trim();
if(sanStr.indexOf("*") >-1){
if(sanStr.indexOf("*") >-1){//如证书域名包含*,则用该域名与配置进行后缀匹配
var sanReg= new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+sanStr.replace("*","")+')+$');
if(sanReg.exec(domain) != null){
flag=true;
}
}else{
}else{//证书域名不包含*,则该域名与配置完全匹配
if(sanStr == domain){ //完全匹配
flag=true;
}
}
}
}
if(!flag){
if(cn.indexOf("*") > -1){
if(cn.indexOf("*") > -1){//如证书域名包含*,则用该域名与配置进行后缀匹配
if(cnReg.exec(domain) != null){
flag=true;
}
}else{
}else{//证书域名不包含*,则该域名与配置完全匹配
if(cn == domain){ //完全匹配
flag=true;
}
@@ -246,12 +264,10 @@
}else{
$("div[for='"+prefixName+"cfgKeywords']").html("");
}
});
//});
}else{
flag=false;
$("input[name$='cfgRegionCode'").each(function(){
var serviceType=$(this).attr("serviceType");
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
//$("input[name$='cfgRegionCode'").each(function(){
if(serviceType == "intercept_domain"){
if(error ==null || error.trim() == ''){
$("div[for='"+prefixName+"cfgKeywords']").html("");
@@ -259,13 +275,11 @@
}
}
});
//});
}
}else{
flag=false;
$("input[name$='cfgRegionCode'").each(function(){
var serviceType=$(this).attr("serviceType");
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
//$("input[name$='cfgRegionCode'").each(function(){
var error=$("div[for='"+prefixName+"cfgKeywords']").html();
if(serviceType == "intercept_domain"){
if(error ==null || error.trim() == ''){
@@ -274,7 +288,7 @@
}
}
});
//});
}
}else{
flag=true;