diff options
Diffstat (limited to 'BKULocal/src/test')
4 files changed, 261 insertions, 0 deletions
| diff --git a/BKULocal/src/test/java/ConfigTest.java b/BKULocal/src/test/java/ConfigTest.java new file mode 100644 index 00000000..558d1c47 --- /dev/null +++ b/BKULocal/src/test/java/ConfigTest.java @@ -0,0 +1,49 @@ +/* +* Copyright 2008 Federal Chancellery Austria and +* Graz University of Technology +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +*     http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import java.net.URL;
 +
 +import org.apache.commons.configuration.Configuration;
 +import org.apache.commons.configuration.ConfigurationException;
 +import org.apache.commons.configuration.ConfigurationFactory;
 +import org.junit.Ignore;
 +
 +@Ignore
 +public class ConfigTest {
 +  
 +  
 +  private void testConfig() throws ConfigurationException {
 +    ConfigurationFactory factory = new ConfigurationFactory();
 +    URL configURL = getClass().getResource("/config.xml");
 +    factory.setConfigurationURL(configURL);
 +    Configuration config = factory.getConfiguration();
 +    System.out.println("-------->: "+config.getInt("hans"));
 +  }
 +
 +  /**
 +   * @param args
 +   */
 +  public static void main(String[] args) {
 +    ConfigTest ct = new ConfigTest();
 +    try {
 +      ct.testConfig();
 +    } catch (ConfigurationException e) {
 +      // TODO Auto-generated catch block
 +      e.printStackTrace();
 +    }
 +  }
 +
 +}
 diff --git a/BKULocal/src/test/java/JustASandbox.java b/BKULocal/src/test/java/JustASandbox.java new file mode 100644 index 00000000..b151df92 --- /dev/null +++ b/BKULocal/src/test/java/JustASandbox.java @@ -0,0 +1,78 @@ +/* +* Copyright 2008 Federal Chancellery Austria and +* Graz University of Technology +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +*     http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import java.io.ByteArrayOutputStream;
 +import java.io.FileOutputStream;
 +import java.io.IOException;
 +import java.io.InputStream;
 +import java.net.URL;
 +import java.util.ArrayList;
 +import java.util.List;
 +
 +import javax.net.ssl.HttpsURLConnection;
 +
 +import org.junit.Ignore;
 +
 +import at.gv.egiz.bku.local.conf.Configurator;
 +import at.gv.egiz.bku.local.stal.SMCCSTALFactory;
 +import at.gv.egiz.bku.utils.StreamUtil;
 +import at.gv.egiz.stal.InfoboxReadRequest;
 +import at.gv.egiz.stal.STAL;
 +import at.gv.egiz.stal.STALRequest;
 +import at.gv.egiz.stal.STALResponse;
 +import at.gv.egiz.stal.SignRequest;
 +import at.gv.egiz.stal.SignResponse;
 +
 +@Ignore
 +public class JustASandbox {
 +
 +  /**
 +   * @param args
 +   * @throws IOException 
 +   */
 +  public static void main(String[] args) throws IOException {
 + 
 +    Configurator cfg = new Configurator();
 +    URL url = new URL("https://demo.egiz.gv.at");
 +    HttpsURLConnection uc = (HttpsURLConnection) url.openConnection();
 +    uc.connect();
 +    System.exit(-1);
 +    
 +    InfoboxReadRequest req = new InfoboxReadRequest();
 +    req.setInfoboxIdentifier("SecureSignatureKeypair");
 +    
 +    ByteArrayOutputStream os = new ByteArrayOutputStream();
 +    InputStream is = JustASandbox.class.getClassLoader().getResourceAsStream("at/gv/egiz/bku/local/stal/sigInfo.xml");
 +    StreamUtil.copyStream(is, os);
 +    SignRequest sr = new SignRequest();
 +    sr.setSignedInfo(os.toByteArray());
 +    sr.setKeyIdentifier("SecureSignatureKeypair"); //os.toByteArray(), "SecureSignatureKeypair", null);
 +    STAL stal = (new SMCCSTALFactory()).createSTAL();
 +    
 +    List<STALRequest> reqList = new ArrayList<STALRequest>(2);
 +    reqList.add(req);
 +    reqList.add(sr);
 +    
 +    List<STALResponse> resp = stal.handleRequest(reqList);
 +    System.out.println(resp.get(0));
 +    System.out.println(resp.get(1));
 +    FileOutputStream fos = new FileOutputStream("c:/tmp/seq_now.der");
 +    SignResponse sir = (SignResponse) resp.get(1);
 +    fos.write(sir.getSignatureValue());
 +    fos.close();
 +  }
 +
 +}
 diff --git a/BKULocal/src/test/java/at/gv/egiz/bku/local/stal/TestSignRequest.java b/BKULocal/src/test/java/at/gv/egiz/bku/local/stal/TestSignRequest.java new file mode 100644 index 00000000..51e7ff7d --- /dev/null +++ b/BKULocal/src/test/java/at/gv/egiz/bku/local/stal/TestSignRequest.java @@ -0,0 +1,55 @@ +/* +* Copyright 2008 Federal Chancellery Austria and +* Graz University of Technology +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +*     http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package at.gv.egiz.bku.local.stal;
 +
 +import java.io.ByteArrayOutputStream;
 +import java.util.ArrayList;
 +import java.util.List;
 +
 +import org.junit.Ignore;
 +
 +import at.gv.egiz.bku.utils.StreamUtil;
 +import at.gv.egiz.smcc.SignatureCard;
 +import at.gv.egiz.stal.STALRequest;
 +import at.gv.egiz.stal.SignRequest;
 +
 +@Ignore
 +public class TestSignRequest {
 +  
 +  public void test() throws Exception {
 +    ByteArrayOutputStream os = new ByteArrayOutputStream();
 +    StreamUtil.copyStream(getClass().getClassLoader().getResourceAsStream("at/gv/egiz/bku/local/stal/sigInfo.xml"), os);
 +    byte[] signedInfo = os.toByteArray();
 +    SignRequest sr = new SignRequest();
 +    sr.setSignedInfo(signedInfo);
 +    sr.setKeyIdentifier(SignatureCard.KeyboxName.SECURE_SIGNATURE_KEYPAIR.getKeyboxName());
 +    List<STALRequest> reqList = new ArrayList<STALRequest>(1);
 +    reqList.add(sr);
 +    System.out.println((new SMCCSTALFactory()).createSTAL().handleRequest(reqList));
 +  }
 +  
 +  public static void main(String[] args) {
 +    TestSignRequest tsr = new TestSignRequest();
 +    try {
 +      tsr.test();
 +    } catch (Exception e) {
 +      // TODO Auto-generated catch block
 +      e.printStackTrace();
 +    }
 +  }
 +
 +}
 diff --git a/BKULocal/src/test/resources/at/gv/egiz/bku/local/stal/sigInfo.xml b/BKULocal/src/test/resources/at/gv/egiz/bku/local/stal/sigInfo.xml new file mode 100644 index 00000000..623a78bc --- /dev/null +++ b/BKULocal/src/test/resources/at/gv/egiz/bku/local/stal/sigInfo.xml @@ -0,0 +1,79 @@ +<dsig:SignedInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="signed-data-reference-0-1214921265-27289015-14960" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xa="http://www.egiz.gv.at/namespaces/20060713#"> +  <xsl:output method="xml"/> +  <xsl:template match="/"> +    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"> +      <head> +        <title> +          <xsl:value-of select="/xa:Antrag/xa:Titel"/></title></head> +      <body> +        <table align="left" border="0" width="100%"> +          <tr> +            <td align="left" colspan="3"> +              <h2> +                <xsl:value-of select="/xa:Antrag/xa:Titel"/></h2></td></tr> +          <tr> +            <td bgcolor="silver" colspan="3" text="black">Absender/in</td></tr> +          <tr> +            <td align="right" width="17%">Vorname</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:PhysicalPerson/pr:Name/pr:GivenName"/></td></tr> +          <tr> +            <td align="right" width="17%">Familienname</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="Von/Title"/> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:PhysicalPerson/pr:Name/pr:FamilyName"/></td></tr> +          <tr> +            <td align="right" width="17%">Geburtsdatum</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:PhysicalPerson/pr:DateOfBirth"/></td></tr> +          <tr> +            <td align="right" width="17%">Geburtsort</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:PhysicalPerson/pr:PlaceOfBirth"/></td></tr> +          <tr> +            <td align="right" width="17%">E-Mail zur Kontaktaufnahme</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:InternetAddress/pr:Address"/></td></tr> +          <tr> +            <td bgcolor="silver" colspan="3" text="black">Dieser Antrag ergeht an:</td></tr> +          <tr> +            <td align="right" width="17%">Adressat</td> +            <td width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Empfaenger/pr:PersonData/pr:CorporateBody/pr:FullName"/></td></tr> +          <tr> +            <td bgcolor="silver" colspan="3" text="black">Hauptwohnsitz des Antragsstellers (laut ZMR):</td></tr> +          <tr> +            <td align="right" width="17%">Strasse</td> +            <td nowrap="nowrap" valign="middle" width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:StreetName"/></td></tr> +          <tr> +            <td align="right" width="17%">Hausnummer</td> +            <td nowrap="nowrap" valign="middle" width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:BuildingNumber"/> +              <xsl:if test="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:Unit != ''">/ +                <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:Unit"/></xsl:if> +              <xsl:if test="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:DoorNumber != ''">/ +                <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:DeliveryAddress/pr:DoorNumber"/></xsl:if></td></tr> +          <tr> +            <td align="right" width="17%">Postleitzahl</td> +            <td nowrap="nowrap" valign="middle" width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:PostalCode"/></td></tr> +          <tr> +            <td align="right" width="17%">Ort</td> +            <td nowrap="nowrap" valign="middle" width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:Municipality"/></td></tr> +          <tr> +            <td align="right" width="17%">Staat</td> +            <td nowrap="nowrap" valign="middle" width="3%"/> +            <td width="80%"> +              <xsl:value-of select="/xa:Antrag/xa:Antragssteller/pr:PersonData/pr:CompactPostalAddress/pr:CountryName"/></td></tr></table></body></html></xsl:template></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>GPYZB80vaYfGObhjlfu4lLLpAHs=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="etsi-data-reference-0-1214921265-27289015-29753" Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-data-object-0-1214921265-27289015-3533')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>8DWtjO0ki1U/lxn+Y34We6GsfxU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo>
\ No newline at end of file | 
