Re: private data objects on smartcard

2020-01-31 Thread mailing list via Gnupg-users
> (...)
> If no PIN has been verified, the --card-status command will only ever
> print out the contents of private DOs #1 and #2.
> 
> While we are at it, *writing* to the private DOs #1 and #3 requires the
> user PIN, and writing to the private DOs #2 and #4 requires the admin PIN.
> 
> You can find the details about those DOs and all the other features of
> the OpenPGP smart card in the specifications for the different versions,
> which are all available on GnuPG's site [1].
> 

Thanks a lot for the support!


___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: private data objects on smartcard

2020-01-30 Thread Damien Goutte-Gattat via Gnupg-users

On Fri, Jan 31, 2020 at 12:55:05AM +0100, mailing list wrote:

I hoped these objects may have been (read) protected by the PIN, but
they´re world readable if you have the card, a bit sad...


Only Private DOs #1 and #2 are readable without any PIN. Reading the 
private DO #3 requires the user PIN, and reading the private DO #4 
requires the admin PIN.


If no PIN has been verified, the --card-status command will only ever 
print out the contents of private DOs #1 and #2.


While we are at it, *writing* to the private DOs #1 and #3 requires the 
user PIN, and writing to the private DOs #2 and #4 requires the admin 
PIN.


You can find the details about those DOs and all the other features of 
the OpenPGP smart card in the specifications for the different versions, 
which are all available on GnuPG's site [1].



Cheers,

- Damien


[1] https://gnupg.org/ftp/specs/


signature.asc
Description: PGP signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: private data objects on smartcard

2020-01-30 Thread Damien Goutte-Gattat via Gnupg-users

On Fri, Jan 31, 2020 at 12:39:11AM +0100, mailing list wrote:

By the way, is mcl3 the length of the key currently living on the
smartcard or the maximum key length supported by this card?


Neither of those. It's the maximum length of the "Cardholder certificate 
DO". This is another data object available on a OpenPGP smart card, 
intended to store a X.509 certificate.


You can write to that DO using the (undocumented) writecert command. For 
example, assumimg the cert.der file contains a DER-encoded X.509 
certificate:


 $ gpg --card-edit
 gpg/card> writecert 3 < cert.der

GnuPG allows to write into that DO but does not actually use it. As far 
as I know the only component that makes use of the Cardholder 
certificate DO is Scute [1], for TLS client authentication (and even for 
that the DO is actually dispensable: if Scute does not find the desired 
certificate in that DO, it will obtain it from GpgSM.)




I just play with a card version 1.1 and mcl3 is 0 there.


The Cardholder certificate DO was added in version 2.0 of the 
specification, so nothing surprising here.



Cheers,

- Damien


[1] http://scute.org/


signature.asc
Description: PGP signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: private data objects on smartcard

2020-01-30 Thread mailing list via Gnupg-users
> (...)

> You can use the (undocumented) command "privatedo" from GnuPG's
> --card-edit menu. For example, to write into the private DO #1:
> (...)
>> And can GnuPG read these objects?
> 
> Yes. If a private DO contains a value, it will be listed in the output
> from the --card-status command.

I hoped these objects may have been (read) protected by the PIN, but
they´re world readable if you have the card, a bit sad...




___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: private data objects on smartcard

2020-01-30 Thread mailing list via Gnupg-users
On 31.01.20 at 00:14 it was said by Damien Goutte-Gattat:

> On Thu, Jan 30, 2020 at 11:24:54PM +0100, mailing list via Gnupg-users
> wrote:
>> How do you write to these objects? Can GnuPG do this? I didn´t found
>> any way with --card-edit or --card-status.
> 
> You can use the (undocumented) command "privatedo" from GnuPG's
> --card-edit menu. For example, to write into the private DO #1:

Great, thanks!


>  S EXTCAP gc=1+ki=1+fc=1+pd=1+mcl3=2048+aac=1+sm=0+si=5+dec=0+bt=1+kdf=1

By the way, is mcl3 the length of the key currently living on the
smartcard or the maximum key length supported by this card?
I just play with a card version 1.1 and mcl3 is 0 there. Version 1.1
support 1024 RSA AFAIK.

Thanks!

___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Re: private data objects on smartcard

2020-01-30 Thread Damien Goutte-Gattat via Gnupg-users

Hi,

On Thu, Jan 30, 2020 at 11:24:54PM +0100, mailing list via Gnupg-users wrote:
How do you write to these objects? Can GnuPG do this? I didn´t found 
any way with --card-edit or --card-status.


You can use the (undocumented) command "privatedo" from GnuPG's 
--card-edit menu. For example, to write into the private DO #1:


 $ gpg --card-edit
 gpg/card> privatedo 1
 Private DO data: [enter whatever value you want to store into the DO]

Or, to write the contents of a file into the private DO #2:

 $ gpg --card-edit
 gpg/card> privatedo 2 < [filename]



And can GnuPG read these objects?


Yes. If a private DO contains a value, it will be listed in the output 
from the --card-status command.



I read somewhere, the size of these objects is 2048 bytes each. How 
many of these objects do exist on a smartcard?


First, note that private DOs are an optional feature of the OpenPGP 
smart card; not all implementations support them.


You can use the following command to check if an OpenPGP smart card 
supports private DOs:


 $ gpg-connect-agent 'SCD LEARN --force' /bye | grep EXTCAP
 S EXTCAP gc=1+ki=1+fc=1+pd=1+mcl3=2048+aac=1+sm=0+si=5+dec=0+bt=1+kdf=1

Here, "pd=1" means the card does have private DOs. "pd=0" would indicate 
that private DOs are not supported.


When private DOs are supported, there are four of them. For cards 
compatible with versions 1.x or 2.x of the specification, they have a 
size of 254 bytes. For 3.x cards, the size of the private DOs is defined 
by the implementation (the OpenPGP smart card from FLOSS Shop [1] has 
indeed 2048-bytes private DOs).


Cheers,

- Damien


[1] 
https://www.floss-shop.de/en/security-privacy/smartcards/13/openpgp-smart-card-v3.3?c=40


signature.asc
Description: PGP signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

private data objects on smartcard

2020-01-30 Thread mailing list via Gnupg-users
Hi there,

The opnPGP smartcards seem to have private data objects to store
arbitrary data, right? It seems even the old 1.1 version cards feature
these objects.

How do you write to these objects? Can GnuPG do this? I didn´t found any
way with --card-edit or --card-status. And can GnuPG read these objects?

I read somewhere, the size of these objects is 2048 bytes each. How many
of these objects do exist on a smartcard?

Thanks!

___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users