diff options
Diffstat (limited to 'src/test')
3 files changed, 0 insertions, 2025 deletions
diff --git a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUConnector.java b/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUConnector.java deleted file mode 100644 index 072c277..0000000 --- a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUConnector.java +++ /dev/null @@ -1,960 +0,0 @@ -/*
- * <copyright> Copyright (c) 2006 by Know-Center, Graz, Austria </copyright>
- *
- * This software is the confidential and proprietary information of Know-Center,
- * Graz, Austria. You shall not disclose such Confidential Information and shall
- * use it only in accordance with the terms of the license agreement you entered
- * into with Know-Center.
- *
- * KNOW-CENTER MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT. KNOW-CENTER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES.
- *
- * $Id: BKUConnector.java,v 1.5 2006/10/31 08:18:41 wprinz Exp $
- */
-package test.at.knowcenter.wag.egov.egiz.detached;
-
-
-/**
- * Connector for communicating with BKU.
- *
- * @author wlackner
- * @author wprinz
- */
-public class BKUConnector
-{
-// /**
-// * ConnectorInformation that identifies this Connector to the system.
-// *
-// * @see at.knowcenter.wag.egov.egiz.sig.ConnectorFactory
-// * @see ConnectorInformation
-// */
-// public static final ConnectorInformation CONNECTOR_INFORMATION = new ConnectorInformation("bku", "BKU");
-//
-// /**
-// * The SettingsReader instance
-// */
-// private SettingsReader settings_ = null;
-//
-// /**
-// * The logger definition.
-// */
-// private static final Logger logger_ = ConfigLogger.getLogger(BKUConnector.class);
-//
-// /**
-// * The empty constructor
-// */
-// public BKUConnector() throws SignatureException
-// {
-// loadSettings();
-// }
-//
-// /**
-// * load the inital signature settings
-// *
-// * @see SettingsReader
-// */
-// private void loadSettings() throws SignatureException
-// {
-// if (settings_ == null)
-// {
-// try
-// {
-// settings_ = SettingsReader.getInstance();
-// }
-// catch (SettingsException e)
-// {
-// String log_message = "Can not load signature settings. Cause:\n" + e.getMessage();
-// logger_.error(log_message);
-// throw new SignatureException(101, log_message, e);
-// }
-// }
-// }
-//
-// public SignatureObject doSign(String sigType, byte[] data, PdfASID algorithm) throws SignatureException
-// {
-// String sigmode = algorithm.getType();
-//
-// String request_string = prepareSignRequestDetached(sigType, sigmode);
-//
-// String sign_url = getSignURL(sigType);
-//
-// String versionstring = algorithm.getVersion();
-// logger_.info("versionstring=" + versionstring);
-//
-// String mimetype = "";
-// if (sigmode.equalsIgnoreCase(SignatorFactory.TYPE_TEXTUAL))
-// {
-// mimetype = "text/plain";
-// }
-// if (sigmode.equalsIgnoreCase(SignatorFactory.TYPE_BINARY))
-// {
-// mimetype = "application/pdf";
-// }
-//
-// Properties response_properties = sendRequest(sign_url, request_string, data, mimetype);
-//
-// return analyzeSignResponse(response_properties, sigType);
-// }
-//
-// public SignatureResponse doVerify(byte[] data, SignatureObject sigObject) throws SignatureException
-// {
-// String sigmode = sigObject.getKZ().getType();
-// String sigversion = sigObject.getKZ().getVersion();
-//
-// // decide which template should be used to verify
-// // use versionstring to decide if detached Signature
-// String request_string = prepareVerifyRequestDetached(data, sigObject);
-// // if (sigversion.equals(SignatorFactory.VERSION_1_1_0))
-// // {
-// // TODO support Sign v1.1.0 Remove base64 and write tempfile
-// // String sigversion=SignatorFactory.TYPE_TEXTUAL;
-//
-// String mimetype = "";
-// if (sigmode.equalsIgnoreCase(SignatorFactory.TYPE_TEXTUAL))
-// {
-// mimetype = "text/plain";
-// }
-// if (sigmode.equalsIgnoreCase(SignatorFactory.TYPE_BINARY))
-// {
-// mimetype = "application/pdf";
-// }
-//
-// String verify_url = getVerifyURL(sigObject.getSignationType());
-// Properties response_properties = sendRequest(verify_url, request_string, data, mimetype);
-//
-// return analyzeVerifyResponse(response_properties);
-// }
-//
-// /**
-// * This method parses the BKU-Response string. It separates the
-// * SignatureValue, X509IssuerName, SigningTime, X509SerialNumber,
-// * X509Certificate, CertDigest, DigestValue and the signation id-s. If the
-// * X509Certificate is extracted it would be stored in the certificates
-// * directory.
-// *
-// * @param xmlResponse
-// * the response string from the BKU sign-request
-// * @param sigObj
-// * the SignatureObject that should be filled
-// * @throws SignatureException
-// * ErrorCode (303, 304)
-// * @see SignatureObject
-// * @see CodingHelper
-// * @see X509Cert
-// */
-// private void parseCreateXMLResponse(Properties response_properties,
-// SignatureObject sigObj) throws SignatureException
-// {
-// String xmlResponse = response_properties.getProperty("response_string");
-//
-// Pattern sig_val_p_s = Pattern.compile("<[\\w]*:?SignatureValue>");
-// Pattern sig_val_p_e = Pattern.compile("</[\\w]*:?SignatureValue>");
-// Pattern iss_nam_p_s = Pattern.compile("<[\\w]*:?X509IssuerName>");
-// Pattern iss_nam_p_e = Pattern.compile("</[\\w]*:?X509IssuerName>");
-// Pattern sig_tim_p_s = Pattern.compile("<[\\w]*:?SigningTime>");
-// Pattern sig_tim_p_e = Pattern.compile("</[\\w]*:?SigningTime>");
-// Pattern ser_num_p_s = Pattern.compile("<[\\w]*:?X509SerialNumber>");
-// Pattern ser_num_p_e = Pattern.compile("</[\\w]*:?X509SerialNumber>");
-// Pattern sig_cer_p_s = Pattern.compile("<[\\w]*:?X509Certificate>");
-// Pattern sig_cer_p_e = Pattern.compile("</[\\w]*:?X509Certificate>");
-//
-// Pattern sig_cer_d_p_s = Pattern.compile("<[\\w]*:?CertDigest>");
-// Pattern sig_cer_d_p_e = Pattern.compile("</[\\w]*:?CertDigest>");
-// Pattern dig_val_p_s = Pattern.compile("<[\\w]*:?DigestValue>");
-// Pattern dig_val_p_e = Pattern.compile("</[\\w]*:?DigestValue>");
-//
-// Matcher sig_val_m_s = sig_val_p_s.matcher(xmlResponse);
-// Matcher sig_val_m_e = sig_val_p_e.matcher(xmlResponse);
-// Matcher iss_nam_m_s = iss_nam_p_s.matcher(xmlResponse);
-// Matcher iss_nam_m_e = iss_nam_p_e.matcher(xmlResponse);
-// Matcher sig_tim_m_s = sig_tim_p_s.matcher(xmlResponse);
-// Matcher sig_tim_m_e = sig_tim_p_e.matcher(xmlResponse);
-// Matcher ser_num_m_s = ser_num_p_s.matcher(xmlResponse);
-// Matcher ser_num_m_e = ser_num_p_e.matcher(xmlResponse);
-// Matcher sig_cer_m_s = sig_cer_p_s.matcher(xmlResponse);
-// Matcher sig_cer_m_e = sig_cer_p_e.matcher(xmlResponse);
-//
-// Matcher sig_cer_d_m_s = sig_cer_d_p_s.matcher(xmlResponse);
-// Matcher sig_cer_d_m_e = sig_cer_d_p_e.matcher(xmlResponse);
-//
-// String sig_val = "";
-// String iss_nam = "";
-// String ser_num = "";
-// String sig_tim = "";
-// String sig_cer = "";
-// String sig_dig = "";
-//
-// // SignatureValue
-// if (sig_val_m_s.find() && sig_val_m_e.find())
-// {
-// sig_val = xmlResponse.substring(sig_val_m_s.end(), sig_val_m_e.start());
-// sig_val = sig_val.replaceAll("\\s", "");
-// sigObj.setSignationValue(sig_val);
-// }
-// // X509IssuerName
-// if (iss_nam_m_s.find() && iss_nam_m_e.find())
-// {
-// iss_nam = xmlResponse.substring(iss_nam_m_s.end(), iss_nam_m_e.start());
-// sigObj.setSignationIssuer(iss_nam);
-// }
-// // X509SerialNumber
-// if (ser_num_m_s.find() && ser_num_m_e.find())
-// {
-// ser_num = xmlResponse.substring(ser_num_m_s.end(), ser_num_m_e.start());
-// sigObj.setSignationSerialNumber(ser_num);
-// }
-// // SigningTime
-// if (sig_tim_m_s.find() && sig_tim_m_e.find())
-// {
-// sig_tim = xmlResponse.substring(sig_tim_m_s.end(), sig_tim_m_e.start());
-// sigObj.setSignationDate(sig_tim);
-// }
-// // CertDigest
-// if (sig_cer_d_m_s.find() && sig_cer_d_m_e.find())
-// {
-// String cert_digest = xmlResponse.substring(sig_cer_d_m_s.end(), sig_cer_d_m_e.start());
-// Matcher dig_val_m_s = dig_val_p_s.matcher(cert_digest);
-// Matcher dig_val_m_e = dig_val_p_e.matcher(cert_digest);
-// if (dig_val_m_s.find() && dig_val_m_e.find())
-// {
-// sig_dig = cert_digest.substring(dig_val_m_s.end(), dig_val_m_e.start());
-// sigObj.setX509CertificateDigest(sig_dig);
-// }
-// }
-// // extract Subject Name from X509Certificate
-// if (sig_cer_m_s.find() && sig_cer_m_e.find())
-// {
-// sig_cer = xmlResponse.substring(sig_cer_m_s.end(), sig_cer_m_e.start());
-// sig_cer = sig_cer.replaceAll("\\s", "");
-// sigObj.setX509Certificate(sig_cer);
-// X509Cert cert = X509Cert.initByString(sig_cer);
-// if (cert.isX509Cert())
-// {
-// sigObj.setX509Certificate(cert.getCertString());
-// String serial_num = cert.getSerialNumber();
-// String subject_name = cert.getSubjectName();
-// if (!ser_num.equals(serial_num))
-// {
-// SignatureException se = new SignatureException(303, "Serialnumber of certificate and tag X509SerialNumber differs!");
-// throw se;
-// }
-// sigObj.setSignationName(subject_name);
-// }
-// }
-// // extract Signature Id's
-// String[] ids = new String[5];
-// ids[0] = extractId(xmlResponse, "signature-");
-// ids[1] = extractId(xmlResponse, "signed-data-reference-");
-// ids[2] = extractId(xmlResponse, "signed-data-object-");
-// ids[3] = extractId(xmlResponse, "etsi-data-reference-");
-// ids[4] = extractId(xmlResponse, "etsi-data-object-");
-// String final_ids = formatSigIds(ids);
-// sigObj.setSignationIDs(final_ids);
-// }
-//
-// protected String formatSigIds(String[] sigIds) throws SignatureException
-// {
-// // ids algorithm:
-// String join = "";
-// String base = null;
-// for (int arr_idx = 0; arr_idx < sigIds.length; arr_idx++)
-// {
-// String id = sigIds[arr_idx];
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("Set BKU id:" + id);
-// }
-// int id_idx = id.lastIndexOf("-");
-// if (arr_idx == 0)
-// {
-// base = id.substring(0, id_idx);
-// }
-// String cur_id = id.substring(id_idx + 1);
-// if (cur_id.equalsIgnoreCase(""))
-// {
-// cur_id = "0";
-// }
-//
-// join += "-" + cur_id;
-// }
-// String ids = base + "@" + join.substring(1);
-// String final_ids = getSigIDprefixValueFromProfile() + ids;
-// return final_ids;
-// }
-//
-// protected String getSigIDprefixValueFromProfile()
-// {
-// String key = getType() + ".sign.SIG_IDprefix";
-// String value = settings_.getValueFromKey(key);
-// if (value == null)
-// {
-// value = "";
-// }
-// return value;
-// }
-//
-// /**
-// * This emthod extracts id-values from a text. The id is given by the name.
-// *
-// * @param text
-// * the id-value that should extract from
-// * @param name
-// * the id-key
-// * @return the value of the given key in the text
-// */
-// private String extractId(String text, String name)
-// {
-// String id = null;
-// int start_idx = text.indexOf(name) + name.length();
-// int end_idx = text.indexOf("\"", start_idx);
-//
-// final int quot_end_idx = end_idx;
-// final int squot_end_idx = text.indexOf("'", start_idx);
-// end_idx = Math.min(quot_end_idx, squot_end_idx);
-// id = text.substring(start_idx, end_idx);
-// logger_.info("extract id:" + name + id);
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("extract id:" + name + id);
-// }
-// return id;
-// }
-//
-// public String getVerifyTemplate(byte [] data,
-// SignatureObject sigObject) throws SignatureException
-// {
-// // TODO Template selection depending on Sigid
-// try
-// {
-// if (data == null)
-// {
-// SignatureException se = new SignatureException(311, "Document can not be verified because data is empty.");
-// throw se;
-// }
-// if (sigObject == null)
-// {
-// SignatureException se = new SignatureException(312, "Document can not be verified because no signature object are set.");
-// throw se;
-// }
-//
-// String verify_template = "./templates/BKUVerifyTemplateDetached.xml";//getVerifyTemplateFileName(sigObject.getSignationType());
-// String sigmode = sigObject.getKZ().getType();
-//
-// String sig_prop_filename = "./templates/BKUVerifyTemplateSP_neueBKU_text.xml"; //getSigPropFileName(sigObject.getSignationType(), sigmode);
-//
-// if (sigObject.getKZ().getType().equals("binaer"))
-// {
-// sig_prop_filename = "./templates/BKUVerifyTemplateSP_neueBKU_bin.xml";
-// }
-//
-//
-// logger_.info(" verify_template= " + verify_template);
-// logger_.info("sig_prop_filename = " + sig_prop_filename);
-// String ids_string = sigObject.getSignationIds();
-// logger_.info("ids_string = " + ids_string);
-// String[] ids = SignatureObject.parseSigIds(ids_string);
-//
-// // TODO hotfix
-// boolean neue_bku = true;
-// if (ids[5] != null)
-// {
-// // Hash has to be made over an other part than in previous versions.
-// // i dont know how this is in newer versions than 2.7.1
-// // id[5] of Signature of 2.7.1 signed Pdfs is "etsi-bka-1.0@"
-// if (ids[5].equals("etsi-bka-1.0@"))
-// {
-// neue_bku = true;
-// }
-// }
-// logger_.info("verify ids[5] = " + ids[5]);
-// logger_.info("verify neue_bku = " + neue_bku);
-// if (neue_bku)
-// {
-// // verify_template =
-// // getConnectorValueFromProfile(sigObject.getSignationType(),
-// // "bku.verify.template2");
-// // //"./templates/BKUVerifyTemplateB64_neueBKU.xml";
-// // sig_prop_filename =
-// // getConnectorValueFromProfile(sigObject.getSignationType(),
-// // "bku.verify.template2.SP");
-// // //"./templates/BKUVerifyTemplateSP_neueBKU.xml";
-// }
-//
-// String ver_temp_str = FileHelper.readFromFile(SettingsReader.relocateFile(verify_template));
-// String sig_prop_str = FileHelper.readFromFile(SettingsReader.relocateFile(sig_prop_filename));
-// if (logger_.isDebugEnabled())
-// {
-// // logger_.debug(verify_template);
-// logger_.debug(sig_prop_filename);
-// }
-//
-// String x509_cert_string = sigObject.getX509CertificateString();
-// if (x509_cert_string == null)
-// {
-// SignatureException se = new SignatureException(313, "Document certificate is not defined.");
-// throw se;
-// }
-// String cert_alg = settings_.getValueFromKey("cert.alg.ecdsa");
-// X509Cert x509_cert = sigObject.getX509Cert();
-// if (x509_cert.isRSA())
-// {
-// cert_alg = settings_.getValueFromKey("cert.alg.rsa");
-// }
-//
-// sig_prop_str = sig_prop_str.replaceFirst("SigningTimeReplace", sigObject.getSignationDate());
-//
-// String issuer_name = sigObject.getSignationIssuer();
-// // The issuer is already unicode, so it mustn't be encoded again.
-// // byte[] issuer_name =
-// // CodingHelper.encodeUTF8(sigObject.getSignationIssuer());
-// // new String(issuer_name); // this would double encode the String, not to
-// // mention the missing encoding
-// sig_prop_str = sig_prop_str.replaceFirst("X509IssuerNameReplace", issuer_name);
-//
-// sig_prop_str = sig_prop_str.replaceFirst("X509SerialNumberReplace", sigObject.getSignationSerialNumber());
-// sig_prop_str = sig_prop_str.replaceFirst("DigestValueX509CertificateReplace", sigObject.getX509CertificateDigest());
-// sig_prop_str = sig_prop_str.replaceFirst("SigIdReplace", ids[0]);
-// sig_prop_str = sig_prop_str.replaceFirst("SigDataRefReplace", ids[1]);
-//
-// ver_temp_str = ver_temp_str.replaceFirst("CertAlgReplace", cert_alg);
-// ver_temp_str = ver_temp_str.replaceFirst("TemplateQualifyingPropertiesReplace", sig_prop_str);
-// byte[] sig_prop_code = CodingHelper.buildDigest(sig_prop_str.getBytes("UTF-8"));
-//
-// String sig_prop_hash = CodingHelper.encodeBase64(sig_prop_code);
-// logger_.info("XXXXXSignedPropertiesoldbase64bku sig_prop_hash=" + sig_prop_hash);
-// // TODO hotfix
-// // if (neue_bku)
-// // {
-// // BKU Version 2.7.1 builds hash over other than previous
-// final String ETSI_SIGNED_PROPERTIES_START_TAG = "<etsi:SignedProperties"; // xml
-// // name
-// // spaces
-// // follow,
-// // so
-// // this
-// // is
-// // not
-// // a
-// // complete
-// // tag...
-// final String ETSI_SIGNED_PROPERTIES_END_TAG = "</etsi:SignedProperties>";
-//
-// final int hash_start = sig_prop_str.indexOf(ETSI_SIGNED_PROPERTIES_START_TAG);
-// assert hash_start >= 0;
-// final int hash_end = sig_prop_str.indexOf(ETSI_SIGNED_PROPERTIES_END_TAG, hash_start) + ETSI_SIGNED_PROPERTIES_END_TAG.length();
-// assert hash_end - ETSI_SIGNED_PROPERTIES_END_TAG.length() >= 0;
-// assert hash_end > hash_start;
-//
-// final String string_to_be_hashed = sig_prop_str.substring(hash_start, hash_end);
-// logger_.info("etsi:SignedProperties string to be hashed: " + string_to_be_hashed);
-//
-// final byte[] bytes_to_be_hashed = string_to_be_hashed.getBytes("UTF-8");
-// sig_prop_code = CodingHelper.buildDigest(bytes_to_be_hashed);
-// sig_prop_hash = CodingHelper.encodeBase64(sig_prop_code);
-// logger_.info("XXXXXSignedPropertiesnewbase64bku sig_prop_hash=" + sig_prop_hash);
-// // }
-//
-// ver_temp_str = ver_temp_str.replaceFirst("DigestValueSignedPropertiesReplace", sig_prop_hash);
-// // logger_.info("DIGEST:" + sig_prop_hash);
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("build digest from QualifyingProperties:start");
-// // logger_.debug("DATA :" + sig_prop_str);
-// logger_.debug("DIGEST:" + sig_prop_hash);
-// logger_.debug("build digest from QualifyingProperties:end");
-// }
-//
-// ver_temp_str = ver_temp_str.replaceFirst("SignatureValueReplace", sigObject.getSignationValue());
-// ver_temp_str = ver_temp_str.replaceFirst("X509CertificateReplace", x509_cert_string);
-// byte[] data_value = data; // normalizedText.getBytes("UTF-8");
-// byte[] data_value_hash = CodingHelper.buildDigest(data_value);
-// String object_data_hash = CodingHelper.encodeBase64(data_value_hash);
-// // logger_.info("XXXXXXxbase64 object_data_hash="+object_data_hash);
-// // String object_data = new String(data_value);
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("build digest from data object:start");
-// // logger_.debug("DATA :" + normalizedText);
-// logger_.debug("DIGEST:" + object_data_hash);
-// logger_.debug("build digest from data object:end");
-// }
-//
-// // String raw_b64 = CodingHelper.encodeUTF8AsBase64(normalizedText);
-// String raw_b64 = CodingHelper.encodeBase64(data_value);
-//
-// ver_temp_str = ver_temp_str.replaceFirst("Base64ContentReplace", raw_b64);
-// ver_temp_str = ver_temp_str.replaceFirst("DigestValueSignedDataReplace", object_data_hash);
-//
-// ver_temp_str = ver_temp_str.replaceAll("SigIdReplace", ids[0]);
-// ver_temp_str = ver_temp_str.replaceAll("SigDataRefReplace", ids[1]);
-// ver_temp_str = ver_temp_str.replaceAll("SigDataObjURIReplace", ids[2]);
-// ver_temp_str = ver_temp_str.replaceAll("EtsiDataRefReplace", ids[3]);
-// ver_temp_str = ver_temp_str.replaceAll("EtsiDataObjURIReplace", ids[4]);
-// if (logger_.isDebugEnabled())
-// {
-// // logger_.debug("VERIFY REQUEST:" + ver_temp_str);
-// }
-//
-// return ver_temp_str;
-// }
-// catch (UnsupportedEncodingException e)
-// {
-// throw new SignatureException(310, e);
-// }
-// }
-//
-// /**
-// * This method parses the verify response string and return a
-// * SignatureResponse object. The SignatureResponse object is filled out by the
-// * response values from the BKU-response.
-// *
-// * @param xmlResponse
-// * the response values from the BKU-verify request
-// * @return SignatureResponse object
-// * @see SignatureResponse
-// */
-// private SignatureResponse parseVerifyXMLResponse(String xmlResponse)
-// {
-// if (logger_.isInfoEnabled())
-// {
-// logger_.info("Try parsing the verify response");
-// }
-//
-// Pattern sub_nam_p_s = Pattern.compile("<dsig:X509SubjectName>");
-// Pattern sub_nam_p_e = Pattern.compile("</dsig:X509SubjectName>");
-// Pattern iss_nam_p_s = Pattern.compile("<dsig:X509IssuerName>");
-// Pattern iss_nam_p_e = Pattern.compile("</dsig:X509IssuerName>");
-// Pattern ser_num_p_s = Pattern.compile("<dsig:X509SerialNumber>");
-// Pattern ser_num_p_e = Pattern.compile("</dsig:X509SerialNumber>");
-//
-// Pattern sig_chk_p_s = Pattern.compile("<sl:SignatureCheck>");
-// Pattern sig_chk_p_e = Pattern.compile("</sl:SignatureCheck>");
-// Pattern man_chk_p_s = Pattern.compile("<sl:SignatureManifestCheck>");
-// Pattern man_chk_p_e = Pattern.compile("</sl:SignatureManifestCheck>");
-// Pattern cer_chk_p_s = Pattern.compile("<sl:CertificateCheck>");
-// Pattern cer_chk_p_e = Pattern.compile("</sl:CertificateCheck>");
-//
-// // [tknall] start qualified certificate
-// Pattern cert_qualified_p = Pattern.compile("<sl:QualifiedCertificate/>");
-// Matcher cert_qualified_m = cert_qualified_p.matcher(xmlResponse);
-// // [tknall] stop qualified certificate
-//
-// Pattern code_p_s = Pattern.compile("<sl:Code>");
-// Pattern code_p_e = Pattern.compile("</sl:Code>");
-// Pattern info_p_s = Pattern.compile("<sl:Info>");
-// Pattern info_p_e = Pattern.compile("</sl:Info>");
-//
-// Pattern cert_p_s = Pattern.compile("<dsig:X509Certificate>");
-// Pattern cert_p_e = Pattern.compile("</dsig:X509Certificate>");
-//
-// Matcher sub_nam_m_s = sub_nam_p_s.matcher(xmlResponse);
-// Matcher sub_nam_m_e = sub_nam_p_e.matcher(xmlResponse);
-// Matcher iss_nam_m_s = iss_nam_p_s.matcher(xmlResponse);
-// Matcher iss_nam_m_e = iss_nam_p_e.matcher(xmlResponse);
-// Matcher ser_num_m_s = ser_num_p_s.matcher(xmlResponse);
-// Matcher ser_num_m_e = ser_num_p_e.matcher(xmlResponse);
-//
-// Matcher sig_chk_m_s = sig_chk_p_s.matcher(xmlResponse);
-// Matcher sig_chk_m_e = sig_chk_p_e.matcher(xmlResponse);
-// Matcher man_chk_m_s = man_chk_p_s.matcher(xmlResponse);
-// Matcher man_chk_m_e = man_chk_p_e.matcher(xmlResponse);
-// Matcher cer_chk_m_s = cer_chk_p_s.matcher(xmlResponse);
-// Matcher cer_chk_m_e = cer_chk_p_e.matcher(xmlResponse);
-//
-// Matcher cert_m_s = cert_p_s.matcher(xmlResponse);
-// Matcher cert_m_e = cert_p_e.matcher(xmlResponse);
-//
-// SignatureResponse sig_res = new SignatureResponse();
-//
-// // [tknall] start qualified certificate
-// sig_res.setQualifiedCertificate(cert_qualified_m.find());
-// // [tknall] stop qualified certificate
-//
-// if (sub_nam_m_s.find() && sub_nam_m_e.find())
-// {
-// String sub_nam = xmlResponse.substring(sub_nam_m_s.end(), sub_nam_m_e.start());
-// sig_res.setX509SubjectName(sub_nam);
-// }
-// if (iss_nam_m_s.find() && iss_nam_m_e.find())
-// {
-// String iss_nam = xmlResponse.substring(iss_nam_m_s.end(), iss_nam_m_e.start());
-// sig_res.setX509IssuerName(iss_nam);
-// }
-// if (ser_num_m_s.find() && ser_num_m_e.find())
-// {
-// String ser_num = xmlResponse.substring(ser_num_m_s.end(), ser_num_m_e.start());
-// sig_res.setX509SerialNumber(ser_num);
-// }
-// if (sig_chk_m_s.find() && sig_chk_m_e.find())
-// {
-// String sig_chk = xmlResponse.substring(sig_chk_m_s.end(), sig_chk_m_e.start());
-// Matcher code_m_s = code_p_s.matcher(sig_chk);
-// Matcher code_m_e = code_p_e.matcher(sig_chk);
-// Matcher info_m_s = info_p_s.matcher(sig_chk);
-// Matcher info_m_e = info_p_e.matcher(sig_chk);
-// if (code_m_s.find() && code_m_e.find())
-// {
-// String code = sig_chk.substring(code_m_s.end(), code_m_e.start());
-// sig_res.setSignatureCheckCode(code);
-// }
-// if (info_m_s.find() && info_m_e.find())
-// {
-// String info = sig_chk.substring(info_m_s.end(), info_m_e.start());
-// sig_res.setSignatureCheckInfo(info);
-// }
-// }
-// if (man_chk_m_s.find() && man_chk_m_e.find())
-// {
-// String man_chk = xmlResponse.substring(man_chk_m_s.end(), man_chk_m_e.start());
-// Matcher code_m_s = code_p_s.matcher(man_chk);
-// Matcher code_m_e = code_p_e.matcher(man_chk);
-// Matcher info_m_s = info_p_s.matcher(man_chk);
-// Matcher info_m_e = info_p_e.matcher(man_chk);
-// if (code_m_s.find() && code_m_e.find())
-// {
-// String code = man_chk.substring(code_m_s.end(), code_m_e.start());
-// sig_res.setSignatureManifestCheckCode(code);
-// }
-// if (info_m_s.find() && info_m_e.find())
-// {
-// String info = man_chk.substring(info_m_s.end(), info_m_e.start());
-// sig_res.setSignatureManifestCheckInfo(info);
-// }
-// }
-// if (cer_chk_m_s.find() && cer_chk_m_e.find())
-// {
-// String cer_chk = xmlResponse.substring(cer_chk_m_s.end(), cer_chk_m_e.start());
-// Matcher code_m_s = code_p_s.matcher(cer_chk);
-// Matcher code_m_e = code_p_e.matcher(cer_chk);
-// Matcher info_m_s = info_p_s.matcher(cer_chk);
-// Matcher info_m_e = info_p_e.matcher(cer_chk);
-// if (code_m_s.find() && code_m_e.find())
-// {
-// String code = cer_chk.substring(code_m_s.end(), code_m_e.start());
-// sig_res.setCertificateCheckCode(code);
-// }
-// if (info_m_s.find() && info_m_e.find())
-// {
-// String info = cer_chk.substring(info_m_s.end(), info_m_e.start());
-// sig_res.setCertificateCheckInfo(info);
-// }
-// }
-// if (cert_m_s.find() && cert_m_e.find())
-// {
-// String cert_string = xmlResponse.substring(cert_m_s.end(), cert_m_e.start());
-//
-// X509Cert resp_cert = X509Cert.initByString(cert_string);
-// sig_res.setCertificate(resp_cert);
-// }
-//
-// return sig_res;
-// }
-//
-// public String prepareSignRequestDetached(String signType, String sigmode) throws SignatureException
-// {
-// logger_.info("Call " + getType() + " connector sigmode=" + sigmode);
-//
-// String keybox_identifier = getSignKeyboxIdentifier(signType);
-// String sign_request_filename = getSignRequestTemplateFileName(signType, sigmode);
-// String sign_req_str = FileHelper.readFromFile(SettingsReader.relocateFile(sign_request_filename));
-//
-// if (sign_req_str == null)
-// {
-// throw new SignatureException(300, "Can not read the create xml request template");
-// }
-// sign_req_str = sign_req_str.replaceFirst("KeyboxIdentifierReplace", keybox_identifier);
-// return sign_req_str;
-// }
-//
-// // decides if moasigned or BKU
-// public String prepareVerifyRequestDetached(byte[] data,
-// SignatureObject sigObject) throws SignatureException
-// {
-// // get templates
-// String verify_request = "./templates/BKUVerifyRequestDetached.xml"; //getVerifyRequestTemplateFileName(sigObject.getSignationType());
-// String verify_req_str = FileHelper.readFromFile(SettingsReader.relocateFile(verify_request));
-// logger_.info("prepareVerifyRequest TemplateFile=" + verify_request);
-//
-// String verify_template_str = null;
-// // TODO implement MOA
-//// if (sigObject.isMOASigned())
-//// {
-//// MOAConnector moa_conn = new MOAConnector();
-//// // get the MOA-template
-//// verify_template_str = moa_conn.getVerifyTemplate(normalizedText, sigObject);
-//// }
-//// else
-//// {
-// // get the BKU-template
-// verify_template_str = getVerifyTemplate(data, sigObject);
-//// }
-//
-// verify_req_str = verify_req_str.replaceFirst("XMLContentReplace", verify_template_str);
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("verify_req_str.xml : " + verify_req_str);
-// }
-//
-// return verify_req_str;
-// }
-//
-// /**
-// * Sends the request to the given URL.
-// *
-// * @param url
-// * The URL.
-// * @param request_string
-// * The request string.
-// * @return Returns the response string.
-// * @throws SignatureException
-// * F.e.
-// */
-// protected Properties sendRequest(String url, String request_string) throws SignatureException
-// {
-// try
-// {
-// Properties response_properties = BKUPostConnection.doPostRequest(url, request_string);
-// return response_properties;
-// }
-// catch (Exception e)
-// {
-// SignatureException se = new SignatureException(320, e);
-// throw se;
-// }
-// }
-//
-// /**
-// *
-// * @param url
-// * The URL.
-// * @param request_string
-// * The request string.
-// * @return Returns the response string.
-// * @throws SignatureException
-// * F.e.
-// */
-// protected Properties sendRequest(String url, String request_string,
-// byte[] signdata, String mimetype) throws SignatureException
-// {
-// try
-// {
-// // Properties response_properties =
-// // BKUPostConnection.doPostRequest272(url, request_string, signdata,
-// // mimetype);
-// Properties response_properties = BKUPostConnection.doPostRequest272(url, request_string, signdata, mimetype);
-// return response_properties;
-// }
-// catch (Exception e)
-// {
-// SignatureException se = new SignatureException(320, e);
-// throw se;
-// }
-// }
-//
-// public SignatureObject analyzeSignResponse(Properties response_properties,
-// String sigType) throws SignatureException
-// {
-// // String sign_request_filename = getSignRequestTemplateFileName(sigType);
-//
-// // TODO hotfix
-// String response_string = response_properties.getProperty("response_string");
-//
-// // TODO debug
-// try
-// {
-// FileOutputStream fos = new FileOutputStream("C:\\wprinz\\Filer\\egiz2\\sign_response.utf8.xml");
-// OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
-// osw.write(response_string);
-// osw.close();
-// }
-// catch (Exception e)
-// {
-// logger_.error(e);
-// }
-//
-// SignatureObject sig_obj = new SignatureObject();
-// sig_obj.setRawSignatureResponse(response_string);
-// try
-// {
-// sig_obj.setSigType(sigType);
-// sig_obj.initByType();
-// }
-// catch (SignatureTypesException e)
-// {
-// SignatureException se = new SignatureException(300, "Cannot init signature object with type:" + sigType, e);
-// throw se;
-// }
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("Signature Type is:" + sig_obj.getSignationType());
-// }
-//
-// if (!response_string.equals(""))
-// {
-// Pattern erc_p_s = Pattern.compile("<[\\w]*:?ErrorCode>");
-// Pattern erc_p_e = Pattern.compile("</[\\w]*:?ErrorCode>");
-// Matcher erc_m_s = erc_p_s.matcher(response_string);
-// Matcher erc_m_e = erc_p_e.matcher(response_string);
-// // System.err.println(response_string);
-//
-// if (erc_m_s.find() && erc_m_e.find())
-// {
-// if (logger_.isEnabledFor(Level.ERROR))
-// {
-// // logger_.debug(sign_request_filename + "_response.xml : " +
-// // response_string);
-// logger_.error("BKU Error response: " + response_string);
-// }
-// Pattern erm_p_s = Pattern.compile("<[\\w]*:?Info>");
-// Pattern erm_p_e = Pattern.compile("</[\\w]*:?Info>");
-// Matcher erm_m_s = erm_p_s.matcher(response_string);
-// Matcher erm_m_e = erm_p_e.matcher(response_string);
-// SignatureException se = new SignatureException(0, "BKUSigExc");
-// String error_code = response_string.substring(erc_m_s.end(), erc_m_e.start());
-// se.setExternalErrorCode(error_code);
-// if (erm_m_s.find() && erm_m_e.find())
-// {
-// String error_mess = response_string.substring(erm_m_s.end(), erm_m_e.start());
-// se.setExternalErrorMessage(error_mess);
-// }
-// throw se;
-// }
-// else
-// {
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("signature_response_string: " + response_string);
-// }
-// parseCreateXMLResponse(response_properties, sig_obj);
-// }
-// }
-// sig_obj.setSigResponse(response_string);
-// return sig_obj;
-// }
-//
-// public SignatureResponse analyzeVerifyResponse(Properties response_properties) throws SignatureException
-// {
-// String response_string = response_properties.getProperty("response_string");
-//
-// if (!response_string.equals(""))
-// {
-// Pattern erc_p_s = Pattern.compile("<[\\w]*:?ErrorCode>");
-// Pattern erc_p_e = Pattern.compile("</[\\w]*:?ErrorCode>");
-// Matcher erc_m_s = erc_p_s.matcher(response_string);
-// Matcher erc_m_e = erc_p_e.matcher(response_string);
-//
-// if (erc_m_s.find() && erc_m_e.find())
-// {
-// if (logger_.isEnabledFor(Level.ERROR))
-// {
-// // logger_.debug(getType() + "_response.xml : " + response_string);
-// logger_.error(getType() + "_response.xml : " + response_string);
-// }
-// Pattern erm_p_s = Pattern.compile("<[\\w]*:?Info>");
-// Pattern erm_p_e = Pattern.compile("</[\\w]*:?Info>");
-// Matcher erm_m_s = erm_p_s.matcher(response_string);
-// Matcher erm_m_e = erm_p_e.matcher(response_string);
-// SignatureException se = new SignatureException(0, "BKUSigExc");
-// if (erc_m_s.find() && erc_m_e.find())
-// {
-// String error_code = response_string.substring(erc_m_s.end(), erc_m_e.start());
-// se.setExternalErrorCode(error_code);
-// }
-// if (erm_m_s.find() && erm_m_e.find())
-// {
-// String error_mess = response_string.substring(erm_m_s.end(), erm_m_e.start());
-// se.setExternalErrorMessage(error_mess);
-// }
-// throw se;
-// }
-// else
-// {
-// if (logger_.isDebugEnabled())
-// {
-// // logger_.debug(getType() + "_response.xml : " + response_string);
-// }
-// return parseVerifyXMLResponse(response_string);
-// }
-// }
-// return null;
-// }
-//
-// protected String getConnectorValueFromProfile(String profile, String key)
-// {
-// String value = settings_.getValueFromKey("sig_obj." + profile + "." + key);
-// if (value == null)
-// {
-// value = settings_.getValueFromKey(key);
-// }
-// return value;
-// }
-//
-// public String getSignURL(String profile)
-// {
-// final String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".url";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSignRequestTemplateFileName(String profile, String sigmode)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".request" + "." + sigmode;
-// logger_.info("getSignRequestTemplateFileName: profile=" + profile + "" + " key=" + key);
-// String filename = getConnectorValueFromProfile(profile, key);
-// logger_.info("getSignRequestTemplateFileName filename=" + filename);
-// return filename;// getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSignKeyboxIdentifier(String profile)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".KeyboxIdentifier";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// public String getVerifyURL(String profile)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".url";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getVerifyRequestTemplateFileName(String profile)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".request";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getVerifyTemplateFileName(String profile)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".template";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSigPropFileName(String profile, String sigmode)
-// {
-// String key = getType() + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".template.SP." + sigmode;
-// logger_.info("getSigPropFileName: profile=" + profile + "" + " key=" + key);
-// String filename = getConnectorValueFromProfile(profile, key);
-// logger_.info("getSigPropFileName filename=" + filename);
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// /**
-// * Returns the type of this BKU-like connector.
-// *
-// * <p>
-// * All settings keys will be prefixed by this type. So to reuse the BKU
-// * connector, a deriving class has to implement this method specifying an own
-// * type.
-// * </p>
-// *
-// * @return Returns the type of this BKU-like connector.
-// */
-// protected String getType()
-// {
-// return CONNECTOR_INFORMATION.getIdentifier();
-// }
-
-}
\ No newline at end of file diff --git a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUPostConnection.java b/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUPostConnection.java deleted file mode 100644 index 0c219b8..0000000 --- a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/BKUPostConnection.java +++ /dev/null @@ -1,230 +0,0 @@ -/**
- * <copyright> Copyright (c) 2006 by Know-Center, Graz, Austria </copyright>
- *
- * This software is the confidential and proprietary information of Know-Center,
- * Graz, Austria. You shall not disclose such Confidential Information and shall
- * use it only in accordance with the terms of the license agreement you entered
- * into with Know-Center.
- *
- * KNOW-CENTER MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT. KNOW-CENTER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES.
- *
- * $Id: BKUPostConnection.java,v 1.3 2006/10/11 07:56:10 wprinz Exp $
- */
-package test.at.knowcenter.wag.egov.egiz.detached;
-
-import java.io.IOException;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
-import org.apache.commons.httpclient.methods.multipart.FilePart;
-import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
-import org.apache.commons.httpclient.methods.multipart.Part;
-import org.apache.commons.httpclient.methods.multipart.StringPart;
-import org.apache.commons.httpclient.params.HttpMethodParams;
-import org.apache.log4j.Logger;
-
-import at.knowcenter.wag.egov.egiz.cfg.ConfigLogger;
-
-/**
- * @author wprinz
- */
-public abstract class BKUPostConnection
-{
- /**
- * The logger definition.
- */
- private static final Logger logger_ = ConfigLogger.getLogger(BKUPostConnection.class);
-
- /**
- * This method connects the BKU server getting the request and the url. The
- * request is an XML Message send and recieve by the HttpClient module. The
- * Response message of the BKU server is is send back to the calling method.
- *
- * @param url
- * the URL which the BKU server is running
- * @param request
- * the request string (XML) to send.
- * @return the response string (XML) of the BKU server
- * @throws IOException
- * @throws HttpException
- * ErrorCode:320
- */
-
- public static Properties doPostRequest272(String url, String request,
- byte[] signdata, String mimetype) throws HttpException, IOException
- {
- // // TODO remove write request to File
- // FileOutputStream fos = new
- // FileOutputStream("F:\\PDFAS_SVN\\trunk\\work\\pdfastmp\\bku_request.xml");
- // fos.write(request.getBytes("UTF-8"));
- // fos.close();
-
- StringPart xmlpart = new StringPart("XmlRequest", request, "UTF-8");
- xmlpart.setContentType(null);
- xmlpart.setTransferEncoding(null);
- // BKU 2.7.4 can't handle the Content-Type Header for the XML
- // xmlpart.setContentType("text/xml");
- // xmlpart.setTransferEncoding(null);
-
- String filename = mimetype.equals("application/pdf") ? "myfile.pdf" : "myfile.txt";
- ByteArrayPartSource baps = new ByteArrayPartSource(filename, signdata);
- // FilePart fpart = new FilePart("fileupload",signdata.getName(), signdata);
- FilePart filepart = new FilePart("fileupload", baps);
- filepart.setContentType(mimetype);
-
- // Part[] parts = {fpart, xmlrequest};
- Part[] parts = { xmlpart, filepart };
-
- HttpMethodParams method_params = new HttpMethodParams();
- method_params.setContentCharset("UTF-8");
-
- PostMethod post_method = new PostMethod(url);
- post_method.setParams(method_params);
-
- MultipartRequestEntity mprqe = new MultipartRequestEntity(parts, post_method.getParams());
- post_method.setRequestEntity(mprqe);
-
- HttpClient http_client = new HttpClient();
- int method_response = http_client.executeMethod(post_method);
- logger_.debug("method_response = " + method_response);
-
- Properties response_properties = new Properties();
-
- if (logger_.isDebugEnabled())
- {
- Header[] response_headers = post_method.getResponseHeaders();
- for (int i = 0; i < response_headers.length; i++)
- {
- logger_.debug(" response_header[" + i + "]: name = " + response_headers[i].getName() + ", value = " + response_headers[i].getValue());
- }
- }
- // Header server_header = post_method.getResponseHeader("Server");
-
- // TODO does BKU really send Content-Type Header
- logger_.debug(post_method.getResponseCharSet());
- if (!post_method.getResponseCharSet().equals("UTF-8"))
- {
- logger_.error("BKU response charset is not UTF-8!");
- }
- String response_string = post_method.getResponseBodyAsString();
-
-// byte[] response_body = post_method.getResponseBody();
-// String response_string = new String(response_body, "UTF-8");
-
- response_properties.setProperty("response_string", response_string);
-
- return response_properties;
- }
-
- /**
- * This method connects the BKU server getting the request and the url. The
- * request is an XML Message send and recieve by the HttpClient module. The
- * Response message of the BKU server is is send back to the calling method.
- *
- * @param url
- * the URL which the BKU server is running
- * @param request
- * the request string (XML) to send.
- * @return the response string (XML) of the BKU server
- * @throws IOException
- * @throws HttpException
- * ErrorCode:320
- */
- public static Properties doPostRequest(String url, String request) throws HttpException, IOException
- {
-
- PostMethod post_method = new PostMethod(url);
-
- // It is very important to specify the charset of the content (the request)
- // as UTF-8 this way.
- // The HttpClient will then perform the URL encoding assuming that the
- // request is UTF-8 as the BKU expects.
- // If the MethodParams are omitted, the HttpClient will assume that the
- // request is ISO-8859-1 and thereby the BKU cannot properly decode it.
- HttpMethodParams method_params = new HttpMethodParams();
- method_params.setContentCharset("UTF-8");
- post_method.setParams(method_params);
-
- // This is just a hint: do not set the content-type this way or the BKU will
- // assume it as text/XML, but the HttpClient sends it as URL-encoded.
- // The HttpClient will automatically generate the proper Content-Type:
- // application/x-www-form-urlencoded
- // post.addRequestHeader(new Header("Content-Type",
- // "text/xml;charset=UTF-8"));
-
- NameValuePair[] data = { new NameValuePair("XMLRequest", request) };
- post_method.setRequestBody(data);
-
- HttpClient http_client = new HttpClient();
- int method_response = http_client.executeMethod(post_method);
- logger_.debug("method_response = " + method_response);
-
- Properties response_properties = new Properties();
-
- if (logger_.isDebugEnabled())
- {
- Header[] response_headers = post_method.getResponseHeaders();
- logger_.debug("#" + response_headers.length + " headers in response:");
- for (int i = 0; i < response_headers.length; i++)
- {
- logger_.debug(" response_header[" + i + "]: name = " + response_headers[i].getName() + ", value = " + response_headers[i].getValue());
- }
- }
-
- Header server_header = post_method.getResponseHeader("Server");
- logger_.debug("server_header: name = " + server_header.getName() + ", value = " + server_header.getValue());
- parseBKUVersion(server_header.getValue(), response_properties);
-
- byte[] response_body = post_method.getResponseBody();
- String response_string = new String(response_body, "UTF-8");
-
- // Alternatively this could be used.
- // The HttpClient is assumed to use the Content-Type provided by the
- // response.
- // String response_string = post.getResponseBodyAsString();
-
- response_properties.setProperty("response_string", response_string);
-
- return response_properties;
- }
-
- // TODO hotfix
- public static void parseBKUVersion(String header_value, Properties properties)
- {
- Pattern pattern = Pattern.compile("^citizen-card-environment/(\\d+\\.\\d+) (.+)/(\\d+\\.\\d+\\.\\d+)$");
- Matcher m = pattern.matcher(header_value);
-
- m.matches();
-
- logger_.debug("group count = " + m.groupCount());
-
- for (int i = 0; i <= m.groupCount(); i++)
- {
- logger_.debug(" group[" + i + "] = " + m.group(i));
- }
-
- final String cceVersion = m.group(1);
- final String productName = m.group(2);
- final String productVersion = m.group(3);
-
- logger_.debug("cceVersion = " + cceVersion);
- logger_.debug("productName = " + productName);
- logger_.debug("productVersion = " + productVersion);
-
- properties.setProperty("cceVersion", cceVersion);
- properties.setProperty("productName", productName);
- properties.setProperty("productVersion", productVersion);
- }
-}
diff --git a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/MOAConnector.java b/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/MOAConnector.java deleted file mode 100644 index 6c3f06b..0000000 --- a/src/test/java/test/at/knowcenter/wag/egov/egiz/detached/MOAConnector.java +++ /dev/null @@ -1,835 +0,0 @@ -/*
- * <copyright> Copyright (c) 2006 by Know-Center, Graz, Austria </copyright>
- *
- * This software is the confidential and proprietary information of Know-Center,
- * Graz, Austria. You shall not disclose such Confidential Information and shall
- * use it only in accordance with the terms of the license agreement you entered
- * into with Know-Center.
- *
- * KNOW-CENTER MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT. KNOW-CENTER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES.
- *
- * $Id: MOAConnector.java,v 1.5 2006/10/31 08:18:41 wprinz Exp $
- */
-package test.at.knowcenter.wag.egov.egiz.detached;
-
-
-/**
- * Connector to access the MOA service.
- *
- * @deprecated
- *
- * @author wlackner
- * @author wprinz
- */
-public class MOAConnector
-{
-// /**
-// * ConnectorInformation that identifies this Connector to the system.
-// *
-// * @see at.knowcenter.wag.egov.egiz.sig.ConnectorFactory
-// * @see ConnectorInformation
-// */
-// public static final ConnectorInformation CONNECTOR_INFORMATION = new ConnectorInformation("moa", "MOA");
-//
-// /**
-// * The class type value.
-// *
-// * <p>
-// * Just for convenience.
-// * </p>
-// */
-// private static final String TYPE = CONNECTOR_INFORMATION.getIdentifier();
-//
-// /**
-// * The connector description.
-// */
-// public static final String DESCRIPTION = "MOA";
-//
-// /**
-// * The SettingsReader instance
-// */
-// private SettingsReader settings_ = null;
-//
-// /**
-// * MOA siganture verification mode
-// */
-// public static final String SERVICE_VERIFY = "SignatureVerification";
-//
-// /**
-// * MOA siganture creation mode
-// */
-// public static final String SERVICE_SIGN = "SignatureCreation";
-//
-// /**
-// * The logger definition.
-// */
-// private static final Logger logger_ = ConfigLogger.getLogger(MOAConnector.class);
-//
-// /**
-// * The empty constructor
-// */
-// public MOAConnector() throws SignatureException
-// {
-// loadSettings();
-// }
-//
-// /**
-// * load the inital signature settings
-// *
-// * @see SettingsReader
-// */
-// private void loadSettings() throws SignatureException
-// {
-// if (settings_ == null)
-// {
-// try
-// {
-// settings_ = SettingsReader.getInstance();
-// }
-// catch (SettingsException e)
-// {
-// String log_message = "Can not load signature settings. Cause:\n" + e.getMessage();
-// logger_.error(log_message);
-// throw new SignatureException(101, log_message, e);
-// }
-// }
-// }
-//
-// public SignatureObject doSign(String sigType, byte [] data, PdfASID algorithm) throws SignatureException
-// {
-// SignatureObject sig_obj = new SignatureObject();
-// try
-// {
-// sig_obj.setSigType(sigType);
-// sig_obj.initByType();
-// }
-// catch (SignatureTypesException e)
-// {
-// SignatureException se = new SignatureException(300, "Can ot init signature object with type:" + sigType, e);
-// throw se;
-// }
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("Signature Type is:" + sig_obj.getSignationType());
-// }
-//
-// String url = getSignURL(sigType);
-//
-// String sign_request_filename = "./templates/MOASignRequestDetached.xml";//getSignRequestTemplateFileName(sigType);
-// String key_ident = getSignKeyIdentifier(sigType);
-// String sign_req_str = FileHelper.readFromFile(SettingsReader.relocateFile(sign_request_filename));
-// if (sign_req_str == null)
-// {
-// SignatureException se = new SignatureException(300, "File not found:" + sign_request_filename);
-// throw se;
-// }
-//
-// sign_req_str = sign_req_str.replaceFirst("KeyIdentifierReplace", key_ident);
-// if (logger_.isDebugEnabled())
-// {
-// //logger_.debug("error_signature_response = " + sign_req_str);
-// // FileHelper.writeToFile(sign_request_filename + "_signText.xml",
-// // signText);
-// }
-// // sign_req_str = sign_req_str.replaceFirst("XMLContentReplace", signText);
-// // now use the the base64 Template
-//// signText = CodingHelper.encodeUTF8AsBase64(signText);
-//// sign_req_str = sign_req_str.replaceFirst("Base64ContentReplace", signText);
-//// if (logger_.isDebugEnabled())
-//// {
-//// //logger_.debug(sign_req_str);
-//// // FileHelper.writeToFile(sign_request_filename + "_request.xml",
-//// // sign_req_str);
-//// }
-//
-// String response_string = "";
-// try
-// {
-// response_string = MOAConnector.connectMOA(sign_req_str, MOAConnector.SERVICE_SIGN, url);
-// sig_obj.setRawSignatureResponse(response_string);
-// }
-// catch (WebException we)
-// {
-// if (logger_.isDebugEnabled())
-// {
-// we.printStackTrace();
-// }
-// SignatureException se = new SignatureException(we.getErrorCode(), we);
-// throw se;
-// }
-//
-// if (!response_string.equals(""))
-// {
-// if (logger_.isInfoEnabled())
-// {
-// logger_.info("get MOA response");
-// }
-// Pattern erc_p_s = Pattern.compile("<ErrorCode>");
-// Pattern erc_p_e = Pattern.compile("</ErrorCode>");
-// Matcher erc_m_s = erc_p_s.matcher(response_string);
-// Matcher erc_m_e = erc_p_e.matcher(response_string);
-// // System.err.println(response_string);
-//
-// if (erc_m_s.find() && erc_m_e.find())
-// {
-// if (logger_.isEnabledFor(Level.ERROR))
-// {
-// logger_.error("error_signature_response = " + response_string);
-// // FileHelper.writeToFile(sign_request_filename + "_response.xml",
-// // response_string);
-// //logger_.error("Write error response to file:" + sign_request_filename + "_response.xml");
-// }
-// Pattern erm_p_s = Pattern.compile("<Info>");
-// Pattern erm_p_e = Pattern.compile("</Info>");
-// Matcher erm_m_s = erm_p_s.matcher(response_string);
-// Matcher erm_m_e = erm_p_e.matcher(response_string);
-//
-// String error_code = response_string.substring(erc_m_s.end(), erc_m_e.start());
-// logger_.debug("error_code = " + error_code);
-// String error_mess = "";
-// if (erm_m_s.find() && erm_m_e.find())
-// {
-// error_mess = response_string.substring(erm_m_s.end(), erm_m_e.start());
-// logger_.debug(error_mess);
-// }
-// SignatureException se = new SignatureException(0, "MOASigExc ext error code = " + error_code + ", err_mess = " + error_mess);
-// se.setExternalErrorCode(error_code);
-// se.setExternalErrorMessage(error_mess);
-// throw se;
-// }
-// else
-// {
-// if (logger_.isDebugEnabled())
-// {
-// //logger_.debug("response_string = " + response_string);
-// // FileHelper.writeToFile(sign_request_filename + "_response.xml",
-// // response_string);
-// }
-// parseCreateXMLResponse(response_string, sig_obj);
-// }
-// }
-// sig_obj.setSigResponse(response_string);
-// return sig_obj;
-// }
-//
-// /**
-// * This method parses the MOA-Response string. It separates the
-// * SignatureValue, X509IssuerName, SigningTime, X509SerialNumber,
-// * X509Certificate, CertDigest and DigestValues. If the X509Certificate is
-// * extracted it would be stored in the certificates directory.
-// *
-// * @param xmlResponse
-// * the response string from the MOA sign-request
-// * @param sigObj
-// * the SignatureObject that should be filled
-// * @throws SignatureException
-// * ErrorCode (303, 304)
-// * @see SignatureObject
-// * @see CodingHelper
-// * @see X509Cert
-// */
-// private void parseCreateXMLResponse(String xmlResponse, SignatureObject sigObj) throws SignatureException
-// {
-// Pattern sig_val_p_s = Pattern.compile("<[\\w]*:?SignatureValue>");
-// Pattern sig_val_p_e = Pattern.compile("</[\\w]*:?SignatureValue>");
-// Pattern iss_nam_p_s = Pattern.compile("<[\\w]*:?X509IssuerName>");
-// Pattern iss_nam_p_e = Pattern.compile("</[\\w]*:?X509IssuerName>");
-// Pattern sig_tim_p_s = Pattern.compile("<[\\w]*:?SigningTime>");
-// Pattern sig_tim_p_e = Pattern.compile("</[\\w]*:?SigningTime>");
-// Pattern ser_num_p_s = Pattern.compile("<[\\w]*:?X509SerialNumber>");
-// Pattern ser_num_p_e = Pattern.compile("</[\\w]*:?X509SerialNumber>");
-// Pattern sig_cer_p_s = Pattern.compile("<[\\w]*:?X509Certificate>");
-// Pattern sig_cer_p_e = Pattern.compile("</[\\w]*:?X509Certificate>");
-//
-// Pattern sig_cer_d_p_s = Pattern.compile("<[\\w]*:?CertDigest>");
-// Pattern sig_cer_d_p_e = Pattern.compile("</[\\w]*:?CertDigest>");
-// Pattern dig_val_p_s = Pattern.compile("<[\\w]*:?DigestValue>");
-// Pattern dig_val_p_e = Pattern.compile("</[\\w]*:?DigestValue>");
-//
-// Matcher sig_val_m_s = sig_val_p_s.matcher(xmlResponse);
-// Matcher sig_val_m_e = sig_val_p_e.matcher(xmlResponse);
-// Matcher iss_nam_m_s = iss_nam_p_s.matcher(xmlResponse);
-// Matcher iss_nam_m_e = iss_nam_p_e.matcher(xmlResponse);
-// Matcher sig_tim_m_s = sig_tim_p_s.matcher(xmlResponse);
-// Matcher sig_tim_m_e = sig_tim_p_e.matcher(xmlResponse);
-// Matcher ser_num_m_s = ser_num_p_s.matcher(xmlResponse);
-// Matcher ser_num_m_e = ser_num_p_e.matcher(xmlResponse);
-// Matcher sig_cer_m_s = sig_cer_p_s.matcher(xmlResponse);
-// Matcher sig_cer_m_e = sig_cer_p_e.matcher(xmlResponse);
-//
-// Matcher sig_cer_d_m_s = sig_cer_d_p_s.matcher(xmlResponse);
-// Matcher sig_cer_d_m_e = sig_cer_d_p_e.matcher(xmlResponse);
-//
-// String sig_val = "";
-// String iss_nam = "";
-// String ser_num = "";
-// String sig_tim = "";
-// String sig_cer = "";
-// String sig_dig = "";
-//
-// // SignatureValue
-// if (sig_val_m_s.find() && sig_val_m_e.find())
-// {
-// sig_val = xmlResponse.substring(sig_val_m_s.end(), sig_val_m_e.start());
-// sig_val = sig_val.replaceAll("\\s", "");
-// sigObj.setSignationValue(sig_val);
-// }
-// // X509IssuerName
-// if (iss_nam_m_s.find() && iss_nam_m_e.find())
-// {
-// iss_nam = xmlResponse.substring(iss_nam_m_s.end(), iss_nam_m_e.start());
-// sigObj.setSignationIssuer(iss_nam);
-// }
-// // X509SerialNumber
-// if (ser_num_m_s.find() && ser_num_m_e.find())
-// {
-// ser_num = xmlResponse.substring(ser_num_m_s.end(), ser_num_m_e.start());
-// sigObj.setSignationSerialNumber(ser_num);
-// }
-// // SigningTime
-// if (sig_tim_m_s.find() && sig_tim_m_e.find())
-// {
-// sig_tim = xmlResponse.substring(sig_tim_m_s.end(), sig_tim_m_e.start());
-// sigObj.setSignationDate(sig_tim);
-// }
-// // CertDigest
-// if (sig_cer_d_m_s.find() && sig_cer_d_m_e.find())
-// {
-// String cert_digest = xmlResponse.substring(sig_cer_d_m_s.end(), sig_cer_d_m_e.start());
-// Matcher dig_val_m_s = dig_val_p_s.matcher(cert_digest);
-// Matcher dig_val_m_e = dig_val_p_e.matcher(cert_digest);
-// if (dig_val_m_s.find() && dig_val_m_e.find())
-// {
-// sig_dig = cert_digest.substring(dig_val_m_s.end(), dig_val_m_e.start());
-// sigObj.setX509CertificateDigest(sig_dig);
-// }
-// }
-// // extract Subject Name from X509Certificate
-// if (sig_cer_m_s.find() && sig_cer_m_e.find())
-// {
-// sig_cer = xmlResponse.substring(sig_cer_m_s.end(), sig_cer_m_e.start());
-// sig_cer = sig_cer.replaceAll("\\s", "");
-// X509Cert cert = X509Cert.initByString(sig_cer);
-// if (cert.isX509Cert())
-// {
-// sigObj.setX509Certificate(cert.getCertString());
-// String serial_num = cert.getSerialNumber();
-// String subject_name = cert.getSubjectName();
-// if (!ser_num.equals(serial_num))
-// {
-// SignatureException se = new SignatureException(303, "Serialnumber of certificate and tag X509SerialNumber differs!");
-// throw se;
-// }
-// sigObj.setSignationName(subject_name);
-// }
-// }
-// }
-//
-// /**
-// * This method reads the verify template from the file system and fills out
-// * the template with the SignatureObject values.
-// *
-// * @param normalizedText
-// * the normalized text to veryfied
-// * @param sigObject
-// * the SignatureObject holding the singature values
-// * @return the filled verify template string
-// * @throws SignatureException
-// * ErrorCode (311, 312, 313)
-// * @see SignatureObject
-// * @see CodingHelper
-// */
-// public String getVerifyTemplate(String normalizedText,
-// SignatureObject sigObject) throws SignatureException
-// {
-// try
-// {
-// if (normalizedText == null || normalizedText.length() == 0)
-// {
-// SignatureException se = new SignatureException(311, "Document can not be verified because normalized text is empty.");
-// throw se;
-// }
-// if (sigObject == null)
-// {
-// SignatureException se = new SignatureException(312, "Document can not be verified because no signature object are set.");
-// throw se;
-// }
-// String verify_template = getVerifyTemplateFileName(sigObject.getSignationType());
-// String sig_prop_template = getSigPropFileName(sigObject.getSignationType());
-// String verify_req_str = FileHelper.readFromFile(SettingsReader.relocateFile(verify_template));
-// String sig_prop_str = FileHelper.readFromFile(SettingsReader.relocateFile(sig_prop_template));
-//
-// if (logger_.isDebugEnabled())
-// {
-// //logger_.debug(verify_template);
-// //logger_.debug(sig_prop_template);
-// }
-//
-// String x509Certificate = sigObject.getX509CertificateString();
-// if (x509Certificate == null)
-// {
-// SignatureException se = new SignatureException(313, "Document certificate is not defined.");
-// throw se;
-// }
-// String cert_alg = settings_.getValueFromKey("cert.alg.ecdsa");
-// X509Cert x509_cert = sigObject.getX509Cert();
-// if (x509_cert.isRSA())
-// {
-// cert_alg = settings_.getValueFromKey("cert.alg.rsa");
-// }
-//
-// sig_prop_str = sig_prop_str.replaceFirst("SigningTimeReplace", sigObject.getSignationDate());
-// // The issuer is already a valid Unicode String.
-// // No need to convert it - not to mention the missing encoding.
-// // byte[] issuer_name =
-// // CodingHelper.encodeUTF8(sigObject.getSignationIssuer());
-// // new String(issuer_name)
-// sig_prop_str = sig_prop_str.replaceFirst("X509IssuerNameReplace", sigObject.getSignationIssuer());
-// sig_prop_str = sig_prop_str.replaceFirst("X509SerialNumberReplace", sigObject.getSignationSerialNumber());
-// sig_prop_str = sig_prop_str.replaceFirst("DigestValueX509CertificateReplace", sigObject.getX509CertificateDigest());
-//
-// verify_req_str = verify_req_str.replaceFirst("CertAlgReplace", cert_alg);
-// verify_req_str = verify_req_str.replaceFirst("TemplateSignedPropertiesReplace", sig_prop_str);
-// byte[] sig_prop_code = CodingHelper.buildDigest(sig_prop_str.getBytes("UTF-8")); // added
-// // the
-// // ("UTF-8")
-// // encoding
-// String sig_prop_hash = CodingHelper.encodeBase64(sig_prop_code);
-// verify_req_str = verify_req_str.replaceFirst("DigestValueSignedPropertiesReplace", sig_prop_hash);
-// if (logger_.isDebugEnabled())
-// {
-// logger_.debug("build digest from SignedProperties:start");
-// //logger_.debug("DATA :" + sig_prop_str);
-// logger_.debug("DIGEST:" + sig_prop_hash);
-// logger_.debug("build digest from SignedProperties:end");
-// }
-//
-// verify_req_str = verify_req_str.replaceFirst("SignatureValueReplace", sigObject.getSignationValue());
-// verify_req_str = verify_req_str.replaceFirst("X509CertificateReplace", x509Certificate);
-// byte[] data_value = normalizedText.getBytes("UTF-8");
-// byte[] data_value_hash = CodingHelper.buildDigest(data_value);
-// // byte[] data_value_hash =
-// // CodingHelper.buildDigest(normalizedText.getBytes());
-// String object_data_hash = CodingHelper.encodeBase64(data_value_hash);
-// //String object_data = normalizedText; // new String(data_value);
-// // System.err.println(object_data_hash);
-// // very_req_str = very_req_str.replaceFirst("ObjectDataReplace",
-// // object_data);
-// String raw_b64 = CodingHelper.encodeBase64(data_value);
-// verify_req_str = verify_req_str.replaceFirst("Base64ContentReplace", raw_b64);
-//
-// verify_req_str = verify_req_str.replaceFirst("DigestValueSignedDataReplace", object_data_hash);
-// if (logger_.isDebugEnabled())
-// {
-// // FileHelper.writeToFile(verify_template + "_verifyText.xml",
-// // normalizedText);
-// logger_.debug("build digest from data object:start");
-// //logger_.debug("DATA :" + object_data);
-// logger_.debug("DIGEST:" + object_data_hash);
-// logger_.debug("build digest from data object:end");
-// }
-// return verify_req_str;
-// }
-// catch (UnsupportedEncodingException e)
-// {
-// throw new SignatureException(310, e);
-// }
-// }
-//
-//// /**
-//// * This method generates the MOA verify prozess. It checks if the given
-//// * SignatureObject is signed by MOA or BKU. The verify template string is
-//// * filled out by the corresponding method.
-//// *
-//// * @param normalizedText
-//// * the normalized text to verify
-//// * @param sigObject
-//// * the SignatureObject holding the singature values
-//// * @return a SignatureResponse object if the verify prozess does not fails
-//// * @throws SignatureException
-//// * @see SignatureResponse
-//// */
-//// public SignatureResponse doVerify(String normalizedText,
-//// SignatureObject sigObject) throws SignatureException
-//// {
-//// String verify_url = getVerifyURL(sigObject.getSignationType()); // settings_.getValueFromKey(TYPE
-//// // + "." +
-//// // Signature.VALUE_MODE_VERIFY
-//// // +
-//// // ".url");
-//// String verify_request = getVerifyRequestTemplateFileName(sigObject.getSignationType()); // settings_.getValueFromKey(TYPE
-//// // +
-//// // "."
-//// // +
-//// // Signature.VALUE_MODE_VERIFY
-//// // +
-//// // ".request");
-//// String trust_profile = getVerifyTrustProfileID(sigObject.getSignationType());
-//// String verify_req_str = FileHelper.readFromFile(SettingsReader.relocateFile(verify_request));
-////
-//// String verify_template_str = null;
-//// if (sigObject.isMOASigned())
-//// {
-//// verify_template_str = getVerifyTemplate(normalizedText, sigObject);
-//// }
-//// else
-//// {
-//// BKUConnector bku_conn = new BKUConnector();
-//// verify_template_str = bku_conn.getVerifyTemplate(normalizedText, sigObject);
-//// }
-//// verify_req_str = verify_req_str.replaceFirst("XMLContentReplace", verify_template_str);
-//// verify_req_str = verify_req_str.replaceFirst("TrustProfileIDReplace", trust_profile);
-////
-//// if (logger_.isDebugEnabled())
-//// {
-//// //logger_.debug(verify_req_str);
-//// // FileHelper.writeToFile(verify_request + "_request.xml",
-//// // verify_req_str);
-//// }
-//// String response_string = "";
-//// try
-//// {
-//// response_string = MOAConnector.connectMOA(verify_req_str, MOAConnector.SERVICE_VERIFY, verify_url);
-//// }
-//// catch (WebException we)
-//// {
-//// if (logger_.isDebugEnabled())
-//// {
-//// we.printStackTrace();
-//// }
-//// SignatureException se = new SignatureException(we.getErrorCode(), we);
-//// throw se;
-//// }
-////
-//// if (!response_string.equals(""))
-//// {
-//// Pattern erc_p_s = Pattern.compile("<[\\w]*:?ErrorCode>");
-//// Pattern erc_p_e = Pattern.compile("</[\\w]*:?ErrorCode>");
-//// Matcher erc_m_s = erc_p_s.matcher(response_string);
-//// Matcher erc_m_e = erc_p_e.matcher(response_string);
-////
-//// if (erc_m_s.find() && erc_m_e.find())
-//// {
-//// if (logger_.isEnabledFor(Level.ERROR))
-//// {
-//// //logger_.debug(response_string);
-//// // FileHelper.writeToFile(verify_request + "_response.xml",
-//// // response_string);
-//// logger_.error("Write error response to file:" + verify_request + "_response.xml");
-//// }
-//// Pattern erm_p_s = Pattern.compile("<[\\w]*:?Info>");
-//// Pattern erm_p_e = Pattern.compile("</[\\w]*:?Info>");
-//// Matcher erm_m_s = erm_p_s.matcher(response_string);
-//// Matcher erm_m_e = erm_p_e.matcher(response_string);
-//// SignatureException se = new SignatureException(0, "MOASigExc2");
-//// String error_code = response_string.substring(erc_m_s.end(), erc_m_e.start());
-//// se.setExternalErrorCode(error_code);
-//// if (erm_m_s.find() && erm_m_e.find())
-//// {
-//// String error_mess = response_string.substring(erm_m_s.end(), erm_m_e.start());
-//// se.setExternalErrorMessage(error_mess);
-//// }
-//// throw se;
-//// }
-//// else
-//// {
-//// if (logger_.isDebugEnabled())
-//// {
-//// //logger_.debug(verify_request + "_response.xml " + response_string);
-//// }
-//// return parseVerifyXMLResponse(response_string);
-//// }
-//// }
-//// return null;
-//// }
-//
-//// /**
-//// * This method parses the verify response string and return a
-//// * SignatureResponse object. The SignatureResponse object is filled out by the
-//// * response values from the BKU-response.
-//// *
-//// * @param xmlResponse
-//// * the response values from the MOA-verify request
-//// * @return SignatureResponse object
-//// * @see SignatureResponse
-//// */
-//// private SignatureResponse parseVerifyXMLResponse(String xmlResponse)
-//// {
-//// if (logger_.isInfoEnabled())
-//// {
-//// logger_.info("Try parsing the verify response");
-//// }
-//// Pattern sub_nam_p_s = Pattern.compile("<dsig:X509SubjectName>");
-//// Pattern sub_nam_p_e = Pattern.compile("</dsig:X509SubjectName>");
-//// Pattern iss_nam_p_s = Pattern.compile("<dsig:X509IssuerName>");
-//// Pattern iss_nam_p_e = Pattern.compile("</dsig:X509IssuerName>");
-//// Pattern ser_num_p_s = Pattern.compile("<dsig:X509SerialNumber>");
-//// Pattern ser_num_p_e = Pattern.compile("</dsig:X509SerialNumber>");
-////
-//// // [tknall] start qualified certificate
-//// Pattern cert_qualified_p = Pattern.compile("<QualifiedCertificate/>");
-//// Matcher cert_qualified_m = cert_qualified_p.matcher(xmlResponse);
-//// // [tknall] stop qualified certificate
-////
-//// Pattern sig_chk_p_s = Pattern.compile("<SignatureCheck>");
-//// Pattern sig_chk_p_e = Pattern.compile("</SignatureCheck>");
-//// Pattern man_chk_p_s = Pattern.compile("<SignatureManifestCheck>");
-//// Pattern man_chk_p_e = Pattern.compile("</SignatureManifestCheck>");
-//// Pattern cer_chk_p_s = Pattern.compile("<CertificateCheck>");
-//// Pattern cer_chk_p_e = Pattern.compile("</CertificateCheck>");
-////
-//// Pattern code_p_s = Pattern.compile("<Code>");
-//// Pattern code_p_e = Pattern.compile("</Code>");
-////
-//// Pattern cert_p_s = Pattern.compile("<dsig:X509Certificate>");
-//// Pattern cert_p_e = Pattern.compile("</dsig:X509Certificate>");
-////
-//// Matcher sub_nam_m_s = sub_nam_p_s.matcher(xmlResponse);
-//// Matcher sub_nam_m_e = sub_nam_p_e.matcher(xmlResponse);
-//// Matcher iss_nam_m_s = iss_nam_p_s.matcher(xmlResponse);
-//// Matcher iss_nam_m_e = iss_nam_p_e.matcher(xmlResponse);
-//// Matcher ser_num_m_s = ser_num_p_s.matcher(xmlResponse);
-//// Matcher ser_num_m_e = ser_num_p_e.matcher(xmlResponse);
-////
-//// Matcher sig_chk_m_s = sig_chk_p_s.matcher(xmlResponse);
-//// Matcher sig_chk_m_e = sig_chk_p_e.matcher(xmlResponse);
-//// Matcher man_chk_m_s = man_chk_p_s.matcher(xmlResponse);
-//// Matcher man_chk_m_e = man_chk_p_e.matcher(xmlResponse);
-//// Matcher cer_chk_m_s = cer_chk_p_s.matcher(xmlResponse);
-//// Matcher cer_chk_m_e = cer_chk_p_e.matcher(xmlResponse);
-////
-//// Matcher cert_m_s = cert_p_s.matcher(xmlResponse);
-//// Matcher cert_m_e = cert_p_e.matcher(xmlResponse);
-////
-//// SignatureResponse sig_res = new SignatureResponse();
-////
-//// // [tknall] start qualified certificate
-//// sig_res.setQualifiedCertificate(cert_qualified_m.find());
-//// // [tknall] stop qualified certificate
-////
-//// if (sub_nam_m_s.find() && sub_nam_m_e.find())
-//// {
-//// String sub_nam = xmlResponse.substring(sub_nam_m_s.end(), sub_nam_m_e.start());
-//// sig_res.setX509SubjectName(sub_nam);
-//// }
-//// if (iss_nam_m_s.find() && iss_nam_m_e.find())
-//// {
-//// String iss_nam = xmlResponse.substring(iss_nam_m_s.end(), iss_nam_m_e.start());
-//// sig_res.setX509IssuerName(iss_nam);
-//// }
-//// if (ser_num_m_s.find() && ser_num_m_e.find())
-//// {
-//// String ser_num = xmlResponse.substring(ser_num_m_s.end(), ser_num_m_e.start());
-//// sig_res.setX509SerialNumber(ser_num);
-//// }
-//// if (sig_chk_m_s.find() && sig_chk_m_e.find())
-//// {
-//// String sig_chk = xmlResponse.substring(sig_chk_m_s.end(), sig_chk_m_e.start());
-//// Matcher code_m_s = code_p_s.matcher(sig_chk);
-//// Matcher code_m_e = code_p_e.matcher(sig_chk);
-//// if (code_m_s.find() && code_m_e.find())
-//// {
-//// String code = sig_chk.substring(code_m_s.end(), code_m_e.start());
-//// sig_res.setSignatureCheckCode(code);
-//// }
-//// }
-//// if (man_chk_m_s.find() && man_chk_m_e.find())
-//// {
-//// String man_chk = xmlResponse.substring(man_chk_m_s.end(), man_chk_m_e.start());
-//// Matcher code_m_s = code_p_s.matcher(man_chk);
-//// Matcher code_m_e = code_p_e.matcher(man_chk);
-//// if (code_m_s.find() && code_m_e.find())
-//// {
-//// String code = man_chk.substring(code_m_s.end(), code_m_e.start());
-//// sig_res.setSignatureManifestCheckCode(code);
-//// }
-//// }
-//// if (cer_chk_m_s.find() && cer_chk_m_e.find())
-//// {
-//// String cer_chk = xmlResponse.substring(cer_chk_m_s.end(), cer_chk_m_e.start());
-//// Matcher code_m_s = code_p_s.matcher(cer_chk);
-//// Matcher code_m_e = code_p_e.matcher(cer_chk);
-//// if (code_m_s.find() && code_m_e.find())
-//// {
-//// String code = cer_chk.substring(code_m_s.end(), code_m_e.start());
-//// sig_res.setCertificateCheckCode(code);
-//// }
-//// }
-//// if (cert_m_s.find() && cert_m_e.find())
-//// {
-//// String cert_string = xmlResponse.substring(cert_m_s.end(), cert_m_e.start());
-////
-//// X509Cert resp_cert = X509Cert.initByString(cert_string);
-//// sig_res.setCertificate(resp_cert);
-//// }
-////
-//// return sig_res;
-//// }
-//
-// protected String getConnectorValueFromProfile(String profile, String key)
-// {
-// String value = settings_.getValueFromKey("sig_obj." + profile + "." + key);
-// if (value == null)
-// {
-// value = settings_.getValueFromKey(key);
-// }
-// return value;
-// }
-//
-// public String getSignURL(String profile)
-// {
-// final String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".url";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSignRequestTemplateFileName(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".request";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSignKeyIdentifier(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_SIGN + ".KeyIdentifier";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// public String getVerifyURL(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".url";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getVerifyRequestTemplateFileName(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".request";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getVerifyTemplateFileName(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".template";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getSigPropFileName(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".template.SP";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// protected String getVerifyTrustProfileID(String profile)
-// {
-// String key = TYPE + "." + ConnectorConfigurationKeys.VALUE_MODE_VERIFY + ".TrustProfileID";
-// return getConnectorValueFromProfile(profile, key);
-// }
-//
-// /**
-// * This method connects the moa server getting the requestString, the given
-// * serviseMode and the endpointUrl. The requestString is the envelope of the
-// * SOAP Message send and recieve by the AXIS module. The Response SOAP message
-// * of the MOA server is parsed by AXIS and the message envelope is send back
-// * to the calling method.
-// *
-// * @param requestString
-// * the request string (XML) to send.
-// * @param serviceMode
-// * the mode which connect to MOA
-// * @param endpointURL
-// * the URL which the MOA server is running
-// * @return the response string (XML) of the MOA server
-// * @throws WebException
-// */
-// public static String connectMOA(String requestString, String serviceMode,
-// String endpointURL) throws WebException
-// {
-// try
-// {
-// if (logger_.isInfoEnabled())
-// {
-// logger_.info(serviceMode);
-// logger_.info(endpointURL);
-// }
-// // Parser/DOMBuilder instanzieren
-// DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-// factory.setNamespaceAware(true);
-// DocumentBuilder builder = factory.newDocumentBuilder();
-//
-// // XML Datei in einen DOM-Baum umwandeln
-// ByteArrayInputStream bais = new ByteArrayInputStream(requestString.getBytes("UTF-8"));
-// Document xmlRequest = builder.parse(bais);
-//
-// // Call öffnen
-// Call call = null;
-//
-// // Neues BodyElement anlegen und mit dem DOM-Baum füllen
-// SOAPBodyElement body = new SOAPBodyElement(xmlRequest.getDocumentElement());
-// SOAPBodyElement[] params = new SOAPBodyElement[] { body };
-//
-// // AXIS-Server instanzieren
-// Service service = ServiceFactory.newInstance().createService(new QName(serviceMode));
-// call = service.createCall();
-// call.setTargetEndpointAddress(endpointURL);
-//
-// // Call auslösen und die Antworten speichern
-// if (logger_.isInfoEnabled())
-// {
-// logger_.info("Calling MOA:" + endpointURL);
-// }
-// Vector responses = (Vector) call.invoke(params);
-//
-// // Erstes Body Element auslesen
-// SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
-//
-// // Aus der Response den DOM-Baum lesen
-// Document root_response = response.getAsDocument();
-// if (logger_.isInfoEnabled())
-// {
-// logger_.info("Return from MOA:" + serviceMode);
-// }
-//
-// // XML-Formatierung konfiguieren
-// OutputFormat format = new OutputFormat((Document) root_response);
-// format.setLineSeparator("\n");
-// format.setIndenting(false);
-// format.setPreserveSpace(true);
-// format.setOmitXMLDeclaration(false);
-// format.setEncoding("UTF-8");
-//
-// // Ausgabe der Webservice-Antwort auf die Konsole
-// // XMLSerializer conSerializer = new XMLSerializer(System.out, format);
-// // conSerializer.serialize(root_response);
-//
-// // Ausgabe der Webservice-Antwort in Datei
-// ByteArrayOutputStream baos = new ByteArrayOutputStream();
-// XMLSerializer response_serializer = new XMLSerializer(baos, format);
-// response_serializer.serialize(root_response);
-// return baos.toString("UTF-8");
-// }
-// catch (Exception e)
-// {
-// throw new WebException(330, e);
-// }
-// // serialize signature only
-//
-// // if
-// // (root_response.getDocumentElement().getLocalName().equals("CreateXMLSignatureResponse"))
-// // {
-// // Element signature = (Element)
-// // root_response.getElementsByTagNameNS("http://www.w3.org/2000/09/xmldsig#",
-// // "Signature").item(0);
-// // String signatureFile = getProperty(mode + "Request").substring(0,
-// // getProperty(mode +
-// // "Request").lastIndexOf('.')) + ".Signature.xml";
-// // fileSerializer = new XMLSerializer(new FileOutputStream(signatureFile),
-// // format);
-// // fileSerializer.serialize(signature);
-// // }
-//
-// }
-}
\ No newline at end of file |