Podemos hacer que las aplicaciones de selección de certificados de viafirma platform muestren únicamente los certificados que configuremos con este parámetro.
A este filtro le indicamos un mapa de atributos que deben coincidir con los del certificados que queremos filtrar.
Si se usa el prefijo ISSUER., también tendrá en cuenta los atributos del padre de los certificados a firmar.
List<Map<String, String>> filtros = new java.util.ArrayList<Map<String, String>>();
Map<String, String> filtro1 = new HashMap<String, String>();
filtro1.put("ISSUER.O", "FNMT");
Map<String, String> filtro2 = new HashMap<String, String>();
filtro2.put("1.3.6.1.4.1.5734.1.8","*");
filtro2.put("ISSUER.CN", "AVANSI CERTIFICADOS DIGITALES");
filtros.add(filtro1);
filtros.add(filtro2);
Policy policy = new Policy();
policy.addParameter(PolicyParams.FILTER_CERTIFICATE_BY.getKey(), filtros)
List<Dictionary<String, String>> filters = new List<Dictionary<String, String>>();
Dictionary<String, String> filter1 = new Dictionary<String, String>();
filter1.Add("O", "FNMT");
Dictionary<String, String> filter2 = new Dictionary<String, String>();
filter2.Add("1.3.6.1.4.1.5734.1.8", "*");
filter2.Add("ISSUER.CN", "AVANSI CERTIFICADOS DIGITALES");
filters.Add(filter1);
filters.Add(filter2);
policy policy = PolicyUtil.newPolicy(typeFormatSign.PAdES_BASIC, typeSign.ATTACHED);
PolicyUtil.AddParameter(policy, PolicyParams.FILTER_CERTIFICATE_BY, PolicyUtil.ObjectToJson(filters));