List of usage examples for org.bouncycastle.asn1 DERTaggedObject getEncoded
public byte[] getEncoded(String encoding) throws IOException
From source file:de.tsenger.animamea.iso7816.MSESetAT.java
License:Open Source License
/** * Setzt die OID des zu verwendenden Protokolls * /*from w ww .ja v a 2 s . c om*/ * @param protocol * Das zu verwendende Protokoll */ public void setProtocol(String protocol) { DERObjectIdentifier oid = new ASN1ObjectIdentifier(protocol); DERTaggedObject to = new DERTaggedObject(false, 0x00, oid); try { do80CMR = to.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:de.tsenger.animamea.iso7816.MSESetAT.java
License:Open Source License
/** * Setzt das Tag 0x83 (Reference of public / secret key) fr PACE * /* ww w. j a v a2 s .co m*/ * @param kr * Referenziert das verwendete Passwort: 1: MRZ 2: CAN 3: PIN 4: * PUK */ public void setKeyReference(int kr) { DERTaggedObject to = new DERTaggedObject(false, 0x03, new ASN1Integer(kr)); try { do83KeyReference = to.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:de.tsenger.animamea.iso7816.MSESetAT.java
License:Open Source License
/** * Setzt das Tag 0x83 (Reference of public / secret key) fr Terminal * Authentication/* ww w . ja v a 2 s .co m*/ * * @param kr * String der den Namen des Public Keys des Terminals beinhaltet * (ISO 8859-1 kodiert) */ public void setKeyReference(String kr) { DERTaggedObject to = new DERTaggedObject(false, 0x03, new DEROctetString(kr.getBytes())); try { do83KeyName = to.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:de.tsenger.animamea.iso7816.MSESetAT.java
License:Open Source License
/** * Setzt das Tag 0x84 (Reference of a private key / Reference for computing * a session key)/*from w w w . j a v a2 s.com*/ * * @param pkr * Bei PACE wird der Index der zu verwendenden Domain Parameter * angegeben Bei CA wird der Index des zu verwendenden Private * Keys angegeben Bei RI wird der Index des zu verwendenden * Private Keys angegeben */ public void setPrivateKeyReference(int pkr) { DERTaggedObject to = new DERTaggedObject(false, 0x04, new ASN1Integer(pkr)); try { do84PrivateKeyReference = to.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:de.tsenger.animamea.iso7816.MSESetAT.java
License:Open Source License
/** * Setzt das Tag 0x91 (Ephemeral Public Key). Der PK muss bereits komprimiert * (siehe comp()-Funktion in TR-03110) sein. * @param pubKey comp(ephemeral PK_PCD) -> TR-03110 A.2.2.3 *//*from w ww.j av a 2s . c om*/ public void setEphemeralPublicKey(byte[] pubKey) { DERTaggedObject to = new DERTaggedObject(false, 0x11, new DEROctetString(pubKey)); try { do91EphemeralPublicKEy = to.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:de.tsenger.animamea.ta.TAOperator.java
License:Open Source License
/** * @param pubKeyRef/*ww w . ja va2s .com*/ * @return * @throws CardException * @throws SecureMessagingException * @throws TAException */ private ResponseAPDU sendMSESetDST(String pubKeyRef) throws SecureMessagingException, CardException, TAException { DERTaggedObject do83 = new DERTaggedObject(false, 0x03, new DEROctetString(pubKeyRef.getBytes())); byte[] data = null; try { data = do83.getEncoded(ASN1Encoding.DER); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } CommandAPDU setdst = new CommandAPDU(0x00, 0x22, 0x81, 0xB6, data); ResponseAPDU resp = cardHandler.transceive(setdst); if (resp.getSW1() != 0x90) throw new TAException("MSE:Set AT failed " + HexString.bufferToHex(resp.getBytes())); return resp; }