public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Johannes Zweng <johannes@zweng•at>
To: Andreas Schildbach <andreas@schildbach•de>
Cc: bitcoin-development@lists•sourceforge.net
Subject: Re: [Bitcoin-development] Instant / contactless payments
Date: Fri, 7 Mar 2014 13:00:33 +0100	[thread overview]
Message-ID: <CAJoe_wGgLDh_pk6fntsKrYjXczZv-X5PLth7Y2B2s=oPuFz6AQ@mail.gmail.com> (raw)
In-Reply-To: <lfc6mi$qth$1@ger.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2161 bytes --]

2014-03-07 11:23 GMT+01:00 Andreas Schildbach <andreas@schildbach•de>:


> Good news: HCE offers the required dispatch ability -- they call it AID
> (Application ID).
>

Yes, that's also something adopted from the existing Smartcard world.
Existing smartcards can contain different payment applications (for example
in Germany the "Maestro" and the "Geldkarte" application on the same card).
So the terminal can actively request one specific application within the
Smartcard.

But as Mike correctly said, we have no pre-existing infrastructure to
support. So decisions should only be based on what makes sense for the
future.


Bad news: It seems - at least CATEGORY_PAYMENT - very credit card centric.
>

I'm not sure about this. I've built several HCE test apps and tested them
with readers (and other phones used as reader) but I did not notice any
difference to using CATEGORY_OTHER (besides that the apps using
CATEGORY_PAYMENT appear in KitKat's new shiny "Tap & Pay" menu).


HCE seems to cover only the payer side. I wonder if there is also an API
> for "reader emulation" which we would need for apps to support the payee
> side.
>

You are free to implement whatever protocol you want. On the reader side
you simply do a IseDep "connect()" and send your commands with
"transceive()" (
https://developer.android.com/reference/android/nfc/tech/IsoDep.html#transceive(byte[])).
After sending the initial ISO 7816-4 "SELECT APPLICATION" command (see here
for some ISO 7816-4 doc:
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_6_basic_interindustry_commands.aspx#chap6_11)
which triggers Android HCE routing mechanism to route all following PDUs to
your HCE app, you are free to send whatever you want.

Anything you send with "transceve()" on the sender side, will be received
within your HCE application in the "processCommandApdu" method:
https://developer.android.com/reference/android/nfc/cardemulation/HostApduService.html#processCommandApdu(byte[],
android.os.Bundle)

The only limitation is that you have a strict request/response model. The
reader terminal (or the reading phone) sends a request, the HCE phone sends
a response.

[-- Attachment #2: Type: text/html, Size: 3667 bytes --]

  parent reply	other threads:[~2014-03-07 12:01 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06  9:45 Mike Hearn
2014-03-06 11:26 ` Andreas Schildbach
2014-03-06 13:44   ` Mike Hearn
2014-03-06 14:51     ` Andreas Schildbach
2014-03-06 16:55       ` [Bitcoin-development] Instant / contactless payments, IsoDep Andreas Schildbach
2014-03-06 17:00         ` Mike Hearn
2014-03-07  8:45           ` Andreas Schildbach
2014-03-07  9:26   ` [Bitcoin-development] Instant / contactless payments Johannes Zweng
2014-03-07 10:00     ` Mike Hearn
2014-03-07 10:23     ` Andreas Schildbach
2014-03-07 11:01       ` Mike Hearn
2014-03-07 12:00       ` Johannes Zweng [this message]
2014-03-06 14:20 ` Brooks Boyd
2014-03-06 17:07   ` Mike Hearn
2014-03-06 18:08     ` Brooks Boyd
2014-03-06 18:12       ` Mike Hearn
2014-03-06 18:20         ` Brooks Boyd
2014-03-06 18:24           ` Mike Hearn
2014-03-07 18:07   ` Joel Kaartinen
2014-03-06 14:39 ` Alex Kotenko
2014-03-06 16:46   ` Andreas Schildbach
2014-03-06 16:52     ` Mike Hearn
2014-03-06 18:03     ` Alex Kotenko
2014-03-07  8:59       ` Andreas Schildbach
2014-03-06 17:03   ` Mike Hearn
2014-03-06 18:49     ` Alex Kotenko
2014-03-08  8:52   ` Jan Vornberger
2014-03-10 15:09     ` Alex Kotenko
2014-03-10 19:28       ` Andreas Schildbach
2014-03-10 19:47         ` Alex Kotenko
2014-03-07 19:08 ` Troy Benjegerdes
2014-03-10 16:04 ` Mike Hearn
2014-03-10 16:14   ` Jean-Paul Kogelman
2014-03-10 16:27     ` Alex Kotenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJoe_wGgLDh_pk6fntsKrYjXczZv-X5PLth7Y2B2s=oPuFz6AQ@mail.gmail.com' \
    --to=johannes@zweng$(echo .)at \
    --cc=andreas@schildbach$(echo .)de \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox