diff options
Diffstat (limited to 'utils/src/main/java')
10 files changed, 1408 insertions, 0 deletions
| diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ATRType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ATRType.java new file mode 100644 index 00000000..d9f2b8a7 --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ATRType.java @@ -0,0 +1,100 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains the ATR received as reponse to a Reset + *                 command + *  + * <p>Java class for ATRType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="ATRType"> + *   <simpleContent> + *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary"> + *       <attribute name="rc" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" /> + *     </extension> + *   </simpleContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ATRType", propOrder = { +    "value" +}) +public class ATRType { + +    @XmlValue +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] value; +    @XmlAttribute +    protected BigInteger rc; + +    /** +     * Gets the value of the value property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getValue() { +        return value; +    } + +    /** +     * Sets the value of the value property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setValue(byte[] value) { +        this.value = ((byte[]) value); +    } + +    /** +     * Gets the value of the rc property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getRc() { +        if (rc == null) { +            return new BigInteger("0"); +        } else { +            return rc; +        } +    } + +    /** +     * Sets the value of the rc property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setRc(BigInteger value) { +        this.rc = value; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeList.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeList.java new file mode 100644 index 00000000..da0ac66c --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeList.java @@ -0,0 +1,71 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains a list of attributes + *  + * <p>Java class for AttributeList complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="AttributeList"> + *   <complexContent> + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + *       <sequence> + *         <element name="Attribute" type="{}AttributeType" maxOccurs="unbounded" minOccurs="0"/> + *       </sequence> + *     </restriction> + *   </complexContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AttributeList", propOrder = { +    "attribute" +}) +public class AttributeList { + +    @XmlElement(name = "Attribute") +    protected List<AttributeType> attribute; + +    /** +     * Gets the value of the attribute property. +     *  +     * <p> +     * This accessor method returns a reference to the live list, +     * not a snapshot. Therefore any modification you make to the +     * returned list will be present inside the JAXB object. +     * This is why there is not a <CODE>set</CODE> method for the attribute property. +     *  +     * <p> +     * For example, to add a new item, do as follows: +     * <pre> +     *    getAttribute().add(newItem); +     * </pre> +     *  +     *  +     * <p> +     * Objects of the following type(s) are allowed in the list +     * {@link AttributeType } +     *  +     *  +     */ +    public List<AttributeType> getAttribute() { +        if (attribute == null) { +            attribute = new ArrayList<AttributeType>(); +        } +        return this.attribute; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeType.java new file mode 100644 index 00000000..3666c92b --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/AttributeType.java @@ -0,0 +1,264 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; + + +/** + * Contains an attribute converted from ASN.1 + *  + * <p>Java class for AttributeType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="AttributeType"> + *   <complexContent> + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + *       <sequence> + *         <element name="Integer" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> + *         <element name="Latin1String" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + *         <element name="UTF8String" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + *         <element name="NumericString" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + *         <element name="PrintableString" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + *         <element name="GeneralizedTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/> + *         <element name="Date" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + *       </sequence> + *       <attribute name="oid" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> + *     </restriction> + *   </complexContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AttributeType", propOrder = { +    "integer", +    "latin1String", +    "utf8String", +    "numericString", +    "printableString", +    "generalizedTime", +    "date" +}) +public class AttributeType { + +    @XmlElement(name = "Integer") +    protected BigInteger integer; +    @XmlElement(name = "Latin1String") +    protected String latin1String; +    @XmlElement(name = "UTF8String") +    protected String utf8String; +    @XmlElement(name = "NumericString") +    protected String numericString; +    @XmlElement(name = "PrintableString") +    protected String printableString; +    @XmlElement(name = "GeneralizedTime") +    @XmlSchemaType(name = "dateTime") +    protected XMLGregorianCalendar generalizedTime; +    @XmlElement(name = "Date") +    protected String date; +    @XmlAttribute(required = true) +    protected String oid; + +    /** +     * Gets the value of the integer property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getInteger() { +        return integer; +    } + +    /** +     * Sets the value of the integer property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setInteger(BigInteger value) { +        this.integer = value; +    } + +    /** +     * Gets the value of the latin1String property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getLatin1String() { +        return latin1String; +    } + +    /** +     * Sets the value of the latin1String property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setLatin1String(String value) { +        this.latin1String = value; +    } + +    /** +     * Gets the value of the utf8String property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getUTF8String() { +        return utf8String; +    } + +    /** +     * Sets the value of the utf8String property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setUTF8String(String value) { +        this.utf8String = value; +    } + +    /** +     * Gets the value of the numericString property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getNumericString() { +        return numericString; +    } + +    /** +     * Sets the value of the numericString property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setNumericString(String value) { +        this.numericString = value; +    } + +    /** +     * Gets the value of the printableString property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getPrintableString() { +        return printableString; +    } + +    /** +     * Sets the value of the printableString property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setPrintableString(String value) { +        this.printableString = value; +    } + +    /** +     * Gets the value of the generalizedTime property. +     *  +     * @return +     *     possible object is +     *     {@link XMLGregorianCalendar } +     *      +     */ +    public XMLGregorianCalendar getGeneralizedTime() { +        return generalizedTime; +    } + +    /** +     * Sets the value of the generalizedTime property. +     *  +     * @param value +     *     allowed object is +     *     {@link XMLGregorianCalendar } +     *      +     */ +    public void setGeneralizedTime(XMLGregorianCalendar value) { +        this.generalizedTime = value; +    } + +    /** +     * Gets the value of the date property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getDate() { +        return date; +    } + +    /** +     * Sets the value of the date property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setDate(String value) { +        this.date = value; +    } + +    /** +     * Gets the value of the oid property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getOid() { +        return oid; +    } + +    /** +     * Sets the value of the oid property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setOid(String value) { +        this.oid = value; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/CommandAPDUType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/CommandAPDUType.java new file mode 100644 index 00000000..d835ef11 --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/CommandAPDUType.java @@ -0,0 +1,154 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes send as command APDU to the + *                 icc + *  + * <p>Java class for CommandAPDUType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="CommandAPDUType"> + *   <simpleContent> + *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary"> + *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + *       <attribute name="of" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + *       <attribute name="expectedSW" type="{http://www.w3.org/2001/XMLSchema}hexBinary" /> + *     </extension> + *   </simpleContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CommandAPDUType", propOrder = { +    "value" +}) +public class CommandAPDUType { + +    @XmlValue +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] value; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "positiveInteger") +    protected BigInteger sequence; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "positiveInteger") +    protected BigInteger of; +    @XmlAttribute +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] expectedSW; + +    /** +     * Gets the value of the value property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getValue() { +        return value; +    } + +    /** +     * Sets the value of the value property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setValue(byte[] value) { +        this.value = ((byte[]) value); +    } + +    /** +     * Gets the value of the sequence property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getSequence() { +        return sequence; +    } + +    /** +     * Sets the value of the sequence property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setSequence(BigInteger value) { +        this.sequence = value; +    } + +    /** +     * Gets the value of the of property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getOf() { +        return of; +    } + +    /** +     * Sets the value of the of property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setOf(BigInteger value) { +        this.of = value; +    } + +    /** +     * Gets the value of the expectedSW property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getExpectedSW() { +        return expectedSW; +    } + +    /** +     * Sets the value of the expectedSW property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setExpectedSW(byte[] value) { +        this.expectedSW = ((byte[]) value); +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ObjectFactory.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ObjectFactory.java new file mode 100644 index 00000000..7738bfdd --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ObjectFactory.java @@ -0,0 +1,170 @@ + +package at.gv.egiz.stal.cardchannel; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each  + * Java content interface and Java element interface  + * generated in the at.gv.egiz.stal.cardchannel package.  + * <p>An ObjectFactory allows you to programatically  + * construct new instances of the Java representation  + * for XML content. The Java representation of XML  + * content can consist of schema derived interfaces  + * and classes representing the binding of schema  + * type definitions, element declarations and model  + * groups.  Factory methods for each of these are  + * provided in this class. + *  + */ +@XmlRegistry +public class ObjectFactory { + +    private final static QName _Grunddaten_QNAME = new QName("", "Grunddaten"); +    private final static QName _Script_QNAME = new QName("", "Script"); +    private final static QName _Response_QNAME = new QName("", "Response"); +    private final static QName _SVPersonenbindung_QNAME = new QName("", "SV-Personenbindung"); +    private final static QName _Status_QNAME = new QName("", "Status"); +    private final static QName _EHIC_QNAME = new QName("", "EHIC"); + +    /** +     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.stal.cardchannel +     *  +     */ +    public ObjectFactory() { +    } + +    /** +     * Create an instance of {@link VerifyAPDUType } +     *  +     */ +    public VerifyAPDUType createVerifyAPDUType() { +        return new VerifyAPDUType(); +    } + +    /** +     * Create an instance of {@link ResponseType } +     *  +     */ +    public ResponseType createResponseType() { +        return new ResponseType(); +    } + +    /** +     * Create an instance of {@link ResponseAPDUType } +     *  +     */ +    public ResponseAPDUType createResponseAPDUType() { +        return new ResponseAPDUType(); +    } + +    /** +     * Create an instance of {@link CommandAPDUType } +     *  +     */ +    public CommandAPDUType createCommandAPDUType() { +        return new CommandAPDUType(); +    } + +    /** +     * Create an instance of {@link ATRType } +     *  +     */ +    public ATRType createATRType() { +        return new ATRType(); +    } + +    /** +     * Create an instance of {@link ScriptType } +     *  +     */ +    public ScriptType createScriptType() { +        return new ScriptType(); +    } + +    /** +     * Create an instance of {@link ResetType } +     *  +     */ +    public ResetType createResetType() { +        return new ResetType(); +    } + +    /** +     * Create an instance of {@link AttributeType } +     *  +     */ +    public AttributeType createAttributeType() { +        return new AttributeType(); +    } + +    /** +     * Create an instance of {@link AttributeList } +     *  +     */ +    public AttributeList createAttributeList() { +        return new AttributeList(); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "Grunddaten") +    public JAXBElement<AttributeList> createGrunddaten(AttributeList value) { +        return new JAXBElement<AttributeList>(_Grunddaten_QNAME, AttributeList.class, null, value); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link ScriptType }{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "Script") +    public JAXBElement<ScriptType> createScript(ScriptType value) { +        return new JAXBElement<ScriptType>(_Script_QNAME, ScriptType.class, null, value); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "Response") +    public JAXBElement<ResponseType> createResponse(ResponseType value) { +        return new JAXBElement<ResponseType>(_Response_QNAME, ResponseType.class, null, value); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "SV-Personenbindung") +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    public JAXBElement<byte[]> createSVPersonenbindung(byte[] value) { +        return new JAXBElement<byte[]>(_SVPersonenbindung_QNAME, byte[].class, null, ((byte[]) value)); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "Status") +    public JAXBElement<AttributeList> createStatus(AttributeList value) { +        return new JAXBElement<AttributeList>(_Status_QNAME, AttributeList.class, null, value); +    } + +    /** +     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeList }{@code >}} +     *  +     */ +    @XmlElementDecl(namespace = "", name = "EHIC") +    public JAXBElement<AttributeList> createEHIC(AttributeList value) { +        return new JAXBElement<AttributeList>(_EHIC_QNAME, AttributeList.class, null, value); +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResetType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResetType.java new file mode 100644 index 00000000..9918473e --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResetType.java @@ -0,0 +1,64 @@ + +package at.gv.egiz.stal.cardchannel; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; + + +/** + * Reset the icc and sequence counter + *  + * <p>Java class for ResetType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="ResetType"> + *   <complexContent> + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + *       <attribute name="cold" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /> + *     </restriction> + *   </complexContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResetType") +public class ResetType { + +    @XmlAttribute +    protected Boolean cold; + +    /** +     * Gets the value of the cold property. +     *  +     * @return +     *     possible object is +     *     {@link Boolean } +     *      +     */ +    public boolean isCold() { +        if (cold == null) { +            return true; +        } else { +            return cold; +        } +    } + +    /** +     * Sets the value of the cold property. +     *  +     * @param value +     *     allowed object is +     *     {@link Boolean } +     *      +     */ +    public void setCold(Boolean value) { +        this.cold = value; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseAPDUType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseAPDUType.java new file mode 100644 index 00000000..1e7b19d5 --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseAPDUType.java @@ -0,0 +1,161 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes received from the card as response + *                 APDU + *  + * <p>Java class for ResponseAPDUType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="ResponseAPDUType"> + *   <simpleContent> + *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary"> + *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + *       <attribute name="rc" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" /> + *       <attribute name="sw" type="{http://www.w3.org/2001/XMLSchema}hexBinary" default="9000" /> + *     </extension> + *   </simpleContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseAPDUType", propOrder = { +    "value" +}) +public class ResponseAPDUType { + +    @XmlValue +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] value; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "positiveInteger") +    protected BigInteger sequence; +    @XmlAttribute +    protected BigInteger rc; +    @XmlAttribute +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] sw; + +    /** +     * Gets the value of the value property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getValue() { +        return value; +    } + +    /** +     * Sets the value of the value property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setValue(byte[] value) { +        this.value = ((byte[]) value); +    } + +    /** +     * Gets the value of the sequence property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getSequence() { +        return sequence; +    } + +    /** +     * Sets the value of the sequence property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setSequence(BigInteger value) { +        this.sequence = value; +    } + +    /** +     * Gets the value of the rc property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getRc() { +        if (rc == null) { +            return new BigInteger("0"); +        } else { +            return rc; +        } +    } + +    /** +     * Sets the value of the rc property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setRc(BigInteger value) { +        this.rc = value; +    } + +    /** +     * Gets the value of the sw property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getSw() { +        if (sw == null) { +            return new HexBinaryAdapter().unmarshal("9000"); +        } else { +            return sw; +        } +    } + +    /** +     * Sets the value of the sw property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setSw(byte[] value) { +        this.sw = ((byte[]) value); +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseType.java new file mode 100644 index 00000000..ee25550f --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ResponseType.java @@ -0,0 +1,78 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains the result of the script executed by the + *                 BKU + *  + * <p>Java class for ResponseType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="ResponseType"> + *   <complexContent> + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + *       <choice maxOccurs="unbounded"> + *         <element name="ATR" type="{}ATRType"/> + *         <element name="ResponseAPDU" type="{}ResponseAPDUType"/> + *       </choice> + *     </restriction> + *   </complexContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseType", propOrder = { +    "atrOrResponseAPDU" +}) +public class ResponseType { + +    @XmlElements({ +        @XmlElement(name = "ATR", type = ATRType.class), +        @XmlElement(name = "ResponseAPDU", type = ResponseAPDUType.class) +    }) +    protected List<Object> atrOrResponseAPDU; + +    /** +     * Gets the value of the atrOrResponseAPDU property. +     *  +     * <p> +     * This accessor method returns a reference to the live list, +     * not a snapshot. Therefore any modification you make to the +     * returned list will be present inside the JAXB object. +     * This is why there is not a <CODE>set</CODE> method for the atrOrResponseAPDU property. +     *  +     * <p> +     * For example, to add a new item, do as follows: +     * <pre> +     *    getATROrResponseAPDU().add(newItem); +     * </pre> +     *  +     *  +     * <p> +     * Objects of the following type(s) are allowed in the list +     * {@link ATRType } +     * {@link ResponseAPDUType } +     *  +     *  +     */ +    public List<Object> getATROrResponseAPDU() { +        if (atrOrResponseAPDU == null) { +            atrOrResponseAPDU = new ArrayList<Object>(); +        } +        return this.atrOrResponseAPDU; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/ScriptType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ScriptType.java new file mode 100644 index 00000000..326791e3 --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/ScriptType.java @@ -0,0 +1,80 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlType; + + +/** + * Contains the script to be executed by the BKU + *  + * <p>Java class for ScriptType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="ScriptType"> + *   <complexContent> + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + *       <choice maxOccurs="unbounded"> + *         <element name="Reset" type="{}ResetType"/> + *         <element name="CommandAPDU" type="{}CommandAPDUType"/> + *         <element name="VerifyAPDU" type="{}VerifyAPDUType"/> + *       </choice> + *     </restriction> + *   </complexContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ScriptType", propOrder = { +    "resetOrCommandAPDUOrVerifyAPDU" +}) +public class ScriptType { + +    @XmlElements({ +        @XmlElement(name = "CommandAPDU", type = CommandAPDUType.class), +        @XmlElement(name = "VerifyAPDU", type = VerifyAPDUType.class), +        @XmlElement(name = "Reset", type = ResetType.class) +    }) +    protected List<Object> resetOrCommandAPDUOrVerifyAPDU; + +    /** +     * Gets the value of the resetOrCommandAPDUOrVerifyAPDU property. +     *  +     * <p> +     * This accessor method returns a reference to the live list, +     * not a snapshot. Therefore any modification you make to the +     * returned list will be present inside the JAXB object. +     * This is why there is not a <CODE>set</CODE> method for the resetOrCommandAPDUOrVerifyAPDU property. +     *  +     * <p> +     * For example, to add a new item, do as follows: +     * <pre> +     *    getResetOrCommandAPDUOrVerifyAPDU().add(newItem); +     * </pre> +     *  +     *  +     * <p> +     * Objects of the following type(s) are allowed in the list +     * {@link CommandAPDUType } +     * {@link VerifyAPDUType } +     * {@link ResetType } +     *  +     *  +     */ +    public List<Object> getResetOrCommandAPDUOrVerifyAPDU() { +        if (resetOrCommandAPDUOrVerifyAPDU == null) { +            resetOrCommandAPDUOrVerifyAPDU = new ArrayList<Object>(); +        } +        return this.resetOrCommandAPDUOrVerifyAPDU; +    } + +} diff --git a/utils/src/main/java/at/gv/egiz/stal/cardchannel/VerifyAPDUType.java b/utils/src/main/java/at/gv/egiz/stal/cardchannel/VerifyAPDUType.java new file mode 100644 index 00000000..d5f1dba0 --- /dev/null +++ b/utils/src/main/java/at/gv/egiz/stal/cardchannel/VerifyAPDUType.java @@ -0,0 +1,266 @@ + +package at.gv.egiz.stal.cardchannel; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.HexBinaryAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + * Contains a sequence of bytes send as command APDU to the icc after a + *                 PIN entered by the user has been incorporated into the APDU + *  + * <p>Java class for VerifyAPDUType complex type. + *  + * <p>The following schema fragment specifies the expected content contained within this class. + *  + * <pre> + * <complexType name="VerifyAPDUType"> + *   <simpleContent> + *     <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary"> + *       <attribute name="sequence" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + *       <attribute name="of" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + *       <attribute name="expectedSW" type="{http://www.w3.org/2001/XMLSchema}hexBinary" /> + *       <attribute name="message" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> + *       <attribute name="format" use="required" type="{http://www.w3.org/2001/XMLSchema}hexBinary" /> + *       <attribute name="offset" use="required" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" /> + *       <attribute name="timeout" use="required" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" /> + *     </extension> + *   </simpleContent> + * </complexType> + * </pre> + *  + *  + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VerifyAPDUType", propOrder = { +    "value" +}) +public class VerifyAPDUType { + +    @XmlValue +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] value; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "positiveInteger") +    protected BigInteger sequence; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "positiveInteger") +    protected BigInteger of; +    @XmlAttribute +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] expectedSW; +    @XmlAttribute(required = true) +    protected String message; +    @XmlAttribute(required = true) +    @XmlJavaTypeAdapter(HexBinaryAdapter.class) +    @XmlSchemaType(name = "hexBinary") +    protected byte[] format; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "nonNegativeInteger") +    protected BigInteger offset; +    @XmlAttribute(required = true) +    @XmlSchemaType(name = "nonNegativeInteger") +    protected BigInteger timeout; + +    /** +     * Gets the value of the value property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getValue() { +        return value; +    } + +    /** +     * Sets the value of the value property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setValue(byte[] value) { +        this.value = ((byte[]) value); +    } + +    /** +     * Gets the value of the sequence property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getSequence() { +        return sequence; +    } + +    /** +     * Sets the value of the sequence property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setSequence(BigInteger value) { +        this.sequence = value; +    } + +    /** +     * Gets the value of the of property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getOf() { +        return of; +    } + +    /** +     * Sets the value of the of property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setOf(BigInteger value) { +        this.of = value; +    } + +    /** +     * Gets the value of the expectedSW property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getExpectedSW() { +        return expectedSW; +    } + +    /** +     * Sets the value of the expectedSW property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setExpectedSW(byte[] value) { +        this.expectedSW = ((byte[]) value); +    } + +    /** +     * Gets the value of the message property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public String getMessage() { +        return message; +    } + +    /** +     * Sets the value of the message property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setMessage(String value) { +        this.message = value; +    } + +    /** +     * Gets the value of the format property. +     *  +     * @return +     *     possible object is +     *     {@link String } +     *      +     */ +    public byte[] getFormat() { +        return format; +    } + +    /** +     * Sets the value of the format property. +     *  +     * @param value +     *     allowed object is +     *     {@link String } +     *      +     */ +    public void setFormat(byte[] value) { +        this.format = ((byte[]) value); +    } + +    /** +     * Gets the value of the offset property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getOffset() { +        return offset; +    } + +    /** +     * Sets the value of the offset property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setOffset(BigInteger value) { +        this.offset = value; +    } + +    /** +     * Gets the value of the timeout property. +     *  +     * @return +     *     possible object is +     *     {@link BigInteger } +     *      +     */ +    public BigInteger getTimeout() { +        return timeout; +    } + +    /** +     * Sets the value of the timeout property. +     *  +     * @param value +     *     allowed object is +     *     {@link BigInteger } +     *      +     */ +    public void setTimeout(BigInteger value) { +        this.timeout = value; +    } + +} | 
