From 281ea42cbb4e66832c9bb1687f42970d96df5798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric?= Date: Mon, 28 May 2018 16:51:23 +0200 Subject: [PATCH] 1.2.0 code SDK 1.4.2.x port Add uif support Refactor memory layout Try to add more curve gpg 2.2.x handle curves other than ed25519 in a such strange way that it is very difficult to do such support. So secp256k1, secp256r1 and brainpoolp256 seems works, but according to gpg code it works by side effects :-/ Update user documentation for UIF There is still an issue with ssh authentication with Ed25519. It works with NIST-P256, Brainpool256 curves --- Makefile | 17 +- Makefile.rules | 29 + doc/user/blue-app-openpgp-card.pdf | Bin 1253899 -> 1234878 bytes doc/user/blue-app-openpgp-card.rst | 51 +- src/gpg_api.h | 4 +- src/gpg_data.c | 39 +- src/gpg_gen.c | 48 +- src/gpg_init.c | 171 ++- src/gpg_pso.c | 79 +- src/gpg_types.h | 71 +- src/gpg_ux_msg.c | 2 + src/gpg_ux_msg.h | 5 + src/gpg_ux_nanos.c | 178 ++- src/gpg_ux_nanos.h | 1 + src/sdk/usbd_ccid_cmd.c | 1057 ++++++++++++++++++ src/sdk/usbd_ccid_if.c | 617 ++++++++++ src/{lib_stusb_impl => sdk}/usbd_ccid_impl.h | 0 src/{lib_stusb_impl => sdk}/usbd_hid_impl.h | 0 src/{lib_stusb_impl => sdk}/usbd_impl.c | 3 + src/{lib_stusb_impl => sdk}/usbd_impl.h | 0 20 files changed, 2197 insertions(+), 175 deletions(-) create mode 100644 Makefile.rules create mode 100755 src/sdk/usbd_ccid_cmd.c create mode 100755 src/sdk/usbd_ccid_if.c rename src/{lib_stusb_impl => sdk}/usbd_ccid_impl.h (100%) rename src/{lib_stusb_impl => sdk}/usbd_hid_impl.h (100%) rename src/{lib_stusb_impl => sdk}/usbd_impl.c (96%) rename src/{lib_stusb_impl => sdk}/usbd_impl.h (100%) diff --git a/Makefile b/Makefile index af12712..219c2c3 100644 --- a/Makefile +++ b/Makefile @@ -15,13 +15,6 @@ # limitations under the License. #******************************************************************************* -BOLOS_SDK=/home/cme/Projects/Git/ledger/nanos-secure-sdk-cslashm - - -CLANGPATH=/home/cme/Projects/Git/ledger/compilers/clang+llvm-4.0.0-x86_64-linux-gnu-ubuntu-16.10/bin/ -GCCPATH=/home/cme/Projects/Git/ledger/compilers/gcc-arm-none-eabi-5_3-2016q1/bin/ - - ifeq ($(BOLOS_SDK),) $(error Environment variable BOLOS_SDK is not set) endif @@ -34,8 +27,8 @@ APPNAME = OpenPGP SPECVERSION="3.3.1" APPVERSION_M=1 -APPVERSION_N=1 -APPVERSION_P=1 +APPVERSION_N=2 +APPVERSION_P=0 APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) ifeq ($(TARGET_NAME),TARGET_BLUE) @@ -81,7 +74,7 @@ DEFINES += HAVE_USB_CLASS_CCID CC := $(CLANGPATH)clang #CFLAGS += -O0 -gdwarf-2 -gstrict-dwarf -CFLAGS += -O3 -Os +CFLAGS += -O3 -Os #CFLAGS += -fno-jump-tables -fno-lookup-tables -fsave-optimization-record #$(info $(CFLAGS)) @@ -96,7 +89,7 @@ LDLIBS += -lm -lgcc -lc include $(BOLOS_SDK)/Makefile.glyphs ### variables processed by the common makefile.rules of the SDK to grab source files and include dirs -APP_SOURCE_PATH += src src/lib_stusb_impl +APP_SOURCE_PATH += src SDK_SOURCE_PATH += lib_stusb @@ -107,7 +100,7 @@ delete: python -m ledgerblue.deleteApp $(COMMON_DELETE_PARAMS) # import generic rules from the sdk -include $(BOLOS_SDK)/Makefile.rules +include Makefile.rules #add dependency on custom makefile filename dep/%.d: %.c Makefile diff --git a/Makefile.rules b/Makefile.rules new file mode 100644 index 0000000..7c2d312 --- /dev/null +++ b/Makefile.rules @@ -0,0 +1,29 @@ +#******************************************************************************* +# Ledger SDK +# (c) 2017 Ledger +# +# 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. +#******************************************************************************* + + +#Make the SDK modified SDK sources prioritar to the original ones + +SOURCE_PATH += $(dir $(foreach libdir, $(APP_SOURCE_PATH), $(dir $(shell find $(libdir) | grep "\.c$$")))) $(BOLOS_SDK)/src $(foreach libdir, $(SDK_SOURCE_PATH), $(dir $(shell find $(BOLOS_SDK)/$(libdir) | grep "\.c$$"))) +SOURCE_FILES := $(foreach path, $(SOURCE_PATH),$(shell find $(path) | grep "\.c$$") ) $(GLYPH_DESTC) +INCLUDES_PATH := $(dir $(foreach libdir, $(APP_SOURCE_PATH), $(dir $(shell find $(libdir) | grep "\.h$$")))) $(dir $(foreach libdir, $(SDK_SOURCE_PATH), $(dir $(shell find $(BOLOS_SDK)/$(libdir) | grep "\.h$$")))) include $(BOLOS_SDK)/include $(BOLOS_SDK)/include/arm + +VPATH := $(dir $(SOURCE_FILES)) +OBJECT_FILES := $(sort $(addprefix obj/, $(addsuffix .o, $(basename $(notdir $(SOURCE_FILES)))))) +DEPEND_FILES := $(sort $(addprefix dep/, $(addsuffix .d, $(basename $(notdir $(SOURCE_FILES)))))) + +include $(BOLOS_SDK)/Makefile.rules_generic \ No newline at end of file diff --git a/doc/user/blue-app-openpgp-card.pdf b/doc/user/blue-app-openpgp-card.pdf index d7e603f9a7c71d7dd1e311fd807121bc7bcc056c..da6874fb6449ef4e71ae417991ffb438ab26bf59 100644 GIT binary patch delta 194736 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 z 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𝔥FET*>&?^;k5SD4ISog^@c#?hQ^W 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

?Tnp6QR?a(cgJbKkqcViCroOj__3Z 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 R;pF7zXGfx;ky4RH`Y%HBDWm`Z delta 212844 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

t`2BkCsQcRFw0%&{p<36V9#-Ck|uPmxfH$ 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

sEbnL+jW^zlx-cVV&T$;X+jE=-=u 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 U-Fb#m<}k+)wIL(o!Scl{ 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

Pe!y2g#qS`xj_qF3TY9hj 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 " /bye + gpg-connect-agent "SCD SETATTR KEY-ATTR --force 2 18 " /bye + gpg-connect-agent "SCD SETATTR KEY-ATTR --force 3 " /bye + +This 3 commands fix, in that order, the template for Signature, Decryption, Authentication keys. + +Supported curve name are: + +- secp256k1 with tag 19 +- nistp256 with tag 19 +- brainpoolP256r1 with tag 19 +- cv25519 (only for key 2) +- ed25519 with tag 22 (only for key 1 and 3) + + +To show the current template use the ``gpg --card-status`` command. + +**NanoS menu** First under *Choose Key* menu, select the one of three keys for which you want to modify the template. Then under "Choose Type", select the desired key template. @@ -255,10 +287,11 @@ Finally select "Set Template" entry to set it. To show the current template use the ``gpg --card-status`` command. - Seed mode ~~~~~~~~~ +**WARNING** : SEED MODE IS EXPERIMENTAL + When generating new keys on NanoS, those keys can be generated randomly or in a deterministic way. The deterministic way is specified in [GPGADD]. The current mode is displayed in the first sub menu. To activate the seeded @@ -266,6 +299,7 @@ The current mode is displayed in the first sub menu. To activate the seeded When the application starts, the seeded mode is always set to *OFF* +**WARNING** : SEED MODE IS EXPERIMENTAL PIN mode ~~~~~~~~ @@ -340,6 +374,17 @@ This is the default mode after application installation. Act as if the PIN is always validated. This is a dangerous mode which should only be used in a highly secure environment. +UIF mode +~~~~~~~~ + + +By activating UIF mode for either signature, decryption or authentication, a user validation +will be ask by the device each time the related operation is performed. + +To activate or deactivate the UIF, select the operation to protect and press both button. +When activated, a '+' symbol appears after the operation name. + + Reset ~~~~~ diff --git a/src/gpg_api.h b/src/gpg_api.h index 6886c16..378fd01 100644 --- a/src/gpg_api.h +++ b/src/gpg_api.h @@ -18,7 +18,9 @@ void USBD_CCID_activate_pinpad(int enabled); -int gpg_oid2curve(unsigned char* oid, unsigned int len); +unsigned int gpg_oid2curve(unsigned char* oid, unsigned int len); +unsigned char* gpg_curve2oid(unsigned int cv, unsigned int *len); +unsigned int gpg_curve2domainlen(unsigned int cv); void gpg_init(void); void gpg_init_ux(void); diff --git a/src/gpg_data.c b/src/gpg_data.c index 65c7d1c..8273bf9 100644 --- a/src/gpg_data.c +++ b/src/gpg_data.c @@ -367,34 +367,25 @@ int gpg_apdu_put_data(unsigned int ref) { //check length ksz = (keygpg->attributes.value[1]<<8)|keygpg->attributes.value[2]; ksz = ksz >> 3; + rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa.public; + rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa.private; + pkey = &keygpg->priv_key.rsa; switch(ksz) { case 1024/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa1024.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa1024.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa1024; pkey_size = sizeof(cx_rsa_1024_private_key_t); - pq = G_gpg_vstate.work.rsa1024.public.n; + pq = G_gpg_vstate.work.rsa.public1024.n; break; case 2048/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa2048.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa2048.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa2048; pkey_size = sizeof(cx_rsa_2048_private_key_t); - pq = G_gpg_vstate.work.rsa2048.public.n; + pq = G_gpg_vstate.work.rsa.public2048.n; break; case 3072/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa3072.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa3072.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa3072; pkey_size = sizeof(cx_rsa_3072_private_key_t); - pq = G_gpg_vstate.work.rsa3072.public.n; + pq = G_gpg_vstate.work.rsa.public3072.n; break; case 4096/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa4096.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa4096.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa4096; pkey_size = sizeof(cx_rsa_4096_private_key_t); - pq = G_gpg_vstate.work.rsa4096.public.n; + pq = G_gpg_vstate.work.rsa.public4096.n; break; } ksz = ksz>>1; @@ -460,14 +451,14 @@ int gpg_apdu_put_data(unsigned int ref) { THROW(SW_WRONG_DATA); return 0; } - ksz = 32; - if (ksz == 32) { - G_gpg_vstate.work.ecfp256.private.curve = curve; - G_gpg_vstate.work.ecfp256.private.d_len = ksz; - os_memmove(G_gpg_vstate.work.ecfp256.private.d, G_gpg_vstate.work.io_buffer+G_gpg_vstate.io_offset,ksz); - cx_ecfp_generate_pair(curve, &G_gpg_vstate.work.ecfp256.public, &G_gpg_vstate.work.ecfp256.private, 1); - nvm_write(&keygpg->pub_key.ecfp256, &G_gpg_vstate.work.ecfp256.public, sizeof(cx_ecfp_public_key_t)); - nvm_write(&keygpg->key.ecfp256, &G_gpg_vstate.work.ecfp256.private, sizeof(cx_ecfp_private_key_t)); + ksz = gpg_curve2domainlen(curve); + if (ksz == len_p) { + G_gpg_vstate.work.ecfp.private.curve = curve; + G_gpg_vstate.work.ecfp.private.d_len = ksz; + os_memmove(G_gpg_vstate.work.ecfp.private.d, G_gpg_vstate.work.io_buffer+G_gpg_vstate.io_offset,ksz); + cx_ecfp_generate_pair(curve, &G_gpg_vstate.work.ecfp.public, &G_gpg_vstate.work.ecfp.private, 1); + nvm_write(&keygpg->pub_key.ecfp, &G_gpg_vstate.work.ecfp.public, sizeof(cx_ecfp_public_key_t)); + nvm_write(&keygpg->priv_key.ecfp, &G_gpg_vstate.work.ecfp.private, sizeof(cx_ecfp_private_key_t)); if (reset_cnt) { reset_cnt = 0; nvm_write(&G_gpg_vstate.kslot->sig_count,&reset_cnt,sizeof(unsigned int)); diff --git a/src/gpg_gen.c b/src/gpg_gen.c index 33ecf72..22564f4 100644 --- a/src/gpg_gen.c +++ b/src/gpg_gen.c @@ -113,29 +113,20 @@ int gpg_apdu_gen() { ksz = (keygpg->attributes.value[1]<<8)|keygpg->attributes.value[2]; ksz = ksz >> 3; + rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa.public; + rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa.private; + pkey = &keygpg->priv_key.rsa; switch(ksz) { case 1024/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa1024.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa1024.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa1024; pkey_size = sizeof(cx_rsa_1024_private_key_t); break; case 2048/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa2048.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa2048.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa2048; pkey_size = sizeof(cx_rsa_2048_private_key_t); break; case 3072/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa3072.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa3072.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa3072; pkey_size = sizeof(cx_rsa_3072_private_key_t); break; case 4096/8: - rsa_pub = (cx_rsa_public_key_t*)&G_gpg_vstate.work.rsa4096.public; - rsa_priv = (cx_rsa_private_key_t*)&G_gpg_vstate.work.rsa4096.private; - pkey = (cx_rsa_private_key_t*)&keygpg->key.rsa4096; pkey_size = sizeof(cx_rsa_4096_private_key_t); break; } @@ -173,19 +164,24 @@ int gpg_apdu_gen() { unsigned int curve,keepprivate; keepprivate = 0; curve = gpg_oid2curve(keygpg->attributes.value+1, keygpg->attributes.length-1); + if (curve == CX_CURVE_NONE) { + THROW(SW_REFERENCED_DATA_NOT_FOUND); + return SW_REFERENCED_DATA_NOT_FOUND; + } if ((G_gpg_vstate.io_p2 == 0x01) | (G_gpg_vstate.seed_mode)) { + ksz = gpg_curve2domainlen(curve); gpg_pso_derive_slot_seed(G_gpg_vstate.slot, seed); - gpg_pso_derive_key_seed(seed, name, 1, seed, 32); - cx_ecfp_init_private_key(curve,seed, 32, &G_gpg_vstate.work.ecfp256.private); + gpg_pso_derive_key_seed(seed, name, 1, seed, ksz); + cx_ecfp_init_private_key(curve,seed, ksz, &G_gpg_vstate.work.ecfp.private); keepprivate = 1; } cx_ecfp_generate_pair(curve, - &G_gpg_vstate.work.ecfp256.public, - &G_gpg_vstate.work.ecfp256.private, + &G_gpg_vstate.work.ecfp.public, + &G_gpg_vstate.work.ecfp.private, keepprivate); - nvm_write(&keygpg->key.ecfp256, &G_gpg_vstate.work.ecfp256.private, sizeof(cx_ecfp_private_key_t)); - nvm_write(&keygpg->pub_key.ecfp256, &G_gpg_vstate.work.ecfp256.public, sizeof(cx_ecfp_public_key_t)); + nvm_write(&keygpg->priv_key.ecfp, &G_gpg_vstate.work.ecfp.private, sizeof(cx_ecfp_private_key_t)); + nvm_write(&keygpg->pub_key.ecfp, &G_gpg_vstate.work.ecfp.public, sizeof(cx_ecfp_public_key_t)); if (reset_cnt) { reset_cnt = 0; nvm_write(&G_gpg_vstate.kslot->sig_count,&reset_cnt,sizeof(unsigned int)); @@ -207,32 +203,32 @@ int gpg_apdu_gen() { gpg_io_mark(); switch(ksz) { case 1024/8: - if (keygpg->key.rsa1024.size == 0) { + if (keygpg->priv_key.rsa1024.size == 0) { THROW (SW_REFERENCED_DATA_NOT_FOUND); return SW_REFERENCED_DATA_NOT_FOUND; } - gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->key.rsa1024.n); + gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->priv_key.rsa1024.n); break; case 2048/8: - if (keygpg->key.rsa2048.size == 0) { + if (keygpg->priv_key.rsa2048.size == 0) { THROW (SW_REFERENCED_DATA_NOT_FOUND); return SW_REFERENCED_DATA_NOT_FOUND; } - gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->key.rsa2048.n); + gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->priv_key.rsa2048.n); break; case 3072/8: - if (keygpg->key.rsa3072.size == 0) { + if (keygpg->priv_key.rsa3072.size == 0) { THROW (SW_REFERENCED_DATA_NOT_FOUND); return SW_REFERENCED_DATA_NOT_FOUND; } - gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->key.rsa3072.n); + gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->priv_key.rsa3072.n); break; case 4096/8: - if (keygpg->key.rsa4096.size == 0) { + if (keygpg->priv_key.rsa4096.size == 0) { THROW (SW_REFERENCED_DATA_NOT_FOUND); return SW_REFERENCED_DATA_NOT_FOUND; } - gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->key.rsa4096.n); + gpg_io_insert_tlv(0x81,ksz,(unsigned char*)&keygpg->priv_key.rsa4096.n); break; } gpg_io_insert_tlv(0x82, 4, keygpg->pub_key.rsa); diff --git a/src/gpg_init.c b/src/gpg_init.c index 8bf7e20..07e4d85 100644 --- a/src/gpg_init.c +++ b/src/gpg_init.c @@ -32,24 +32,47 @@ const unsigned char C_MAGIC[8] = { /* --ECC OID -- */ /* ----------------------*/ +/* +//brainpool 256t1: 1.3.36.3.3.2.8.1.1.8 +const unsigned char C_OID_BRAINPOOL256T1[9] = { + 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x07 +}; +*/ + +//secp256r1 / NIST P256 /ansi-x9.62 : 1.2.840.10045.3.1.7 +const unsigned char C_OID_SECP256R1[8] = { + 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07 +}; +//secp384r1 / NIST P384 /ansi-x9.62 :1.3.132.0.34 +const unsigned char C_OID_SECP384R1[5] = { + 0x2B, 0x81, 0x04, 0x00 , 0x22 +}; +//secp521r1 / NIST P521 /ansi-x9.62 : 1.3.132.0.35 +const unsigned char C_OID_SECP521R1[5] = { + 0x2B, 0x81, 0x04, 0x00, 0x23 +}; + + //secp256k1: 1.3.132.0.10 const unsigned char C_OID_SECP256K1[5] = { 0x2B, 0x81, 0x04, 0x00, 0x0A }; -//secp256r1 / NIST P256 /ansi-x9.62 : 1.2.840.10045.3.1.7 -const unsigned char C_OID_SECP256R1[8] = { - 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x07 -}; //brainpool 256r1: 1.3.36.3.3.2.8.1.1.7 const unsigned char C_OID_BRAINPOOL256R1[9] = { - 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x08 + 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x08 }; -//brainpool 256t1: 1.3.36.3.3.2.8.1.1.8 -const unsigned char C_OID_BRAINPOOL256T1[9] = { - 0x2B,0x24,0x03,0x03,0x02,0x08,0x01,0x01,0x07 +//brainpool 284r1: 1.3.36.3.3.2.8.1.1.11 +const unsigned char C_OID_BRAINPOOL384R1[9] = { + 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0B }; +//brainpool 512r1: 1.3.36.3.3.2.8.1.1.13 +const unsigned char C_OID_BRAINPOOL512R1[9] = { + 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0D +}; + + //Ed25519/curve25519: 1.3.6.1.4.1.11591.15.1 const unsigned char C_OID_Ed25519[9] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0xDA, 0x47, 0x0F, 0x01, @@ -60,10 +83,29 @@ const unsigned char C_OID_cv25519[10] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x97, 0x55, 0x01, 0x05, 0x01, }; -int gpg_oid2curve(unsigned char* oid, unsigned int len) { +unsigned int gpg_oid2curve(unsigned char* oid, unsigned int len) { + if ( (len == sizeof(C_OID_SECP256K1)) && (os_memcmp(oid, C_OID_SECP256K1, len)==0) ) { + return CX_CURVE_SECP256K1; + } if ( (len == sizeof(C_OID_SECP256R1)) && (os_memcmp(oid, C_OID_SECP256R1, len)==0) ) { - return CX_CURVE_256R1; + return CX_CURVE_SECP256R1; + } + if ( (len == sizeof(C_OID_SECP384R1)) && (os_memcmp(oid, C_OID_SECP384R1, len)==0) ) { + return CX_CURVE_SECP384R1; + } + if ( (len == sizeof(C_OID_SECP521R1)) && (os_memcmp(oid, C_OID_SECP521R1, len)==0) ) { + return CX_CURVE_SECP521R1; + } + + if ( (len == sizeof(C_OID_BRAINPOOL256R1)) && (os_memcmp(oid, C_OID_BRAINPOOL256R1, len)==0) ) { + return CX_CURVE_BrainPoolP256R1; + } + if ( (len == sizeof(C_OID_BRAINPOOL384R1)) && (os_memcmp(oid, C_OID_BRAINPOOL384R1, len)==0) ) { + return CX_CURVE_BrainPoolP384R1; + } + if ( (len == sizeof(C_OID_BRAINPOOL512R1)) && (os_memcmp(oid, C_OID_BRAINPOOL512R1, len)==0) ) { + return CX_CURVE_BrainPoolP512R1; } if ( (len == sizeof(C_OID_Ed25519)) && (os_memcmp(oid, C_OID_Ed25519, len)==0) ) { @@ -73,21 +115,87 @@ int gpg_oid2curve(unsigned char* oid, unsigned int len) { if ( (len == sizeof(C_OID_cv25519)) && (os_memcmp(oid, C_OID_cv25519, len)==0) ) { return CX_CURVE_Curve25519; } - + + /* if ( (len == sizeof(C_OID_SECP256K1)) && (os_memcmp(oid, C_OID_SECP256K1, len)==0) ) { return CX_CURVE_256K1; } - - if ( (len == sizeof(C_OID_BRAINPOOL256R1)) && (os_memcmp(oid, C_OID_BRAINPOOL256R1, len)==0) ) { - return CX_CURVE_BrainPoolP256R1; - } - if ( (len == sizeof(C_OID_BRAINPOOL256T1)) && (os_memcmp(oid, C_OID_BRAINPOOL256T1, len)==0) ) { return CX_CURVE_BrainPoolP256T1; } + */ return CX_CURVE_NONE; } + +unsigned char* gpg_curve2oid(unsigned int cv, unsigned int *len) { + switch (cv) { + + case CX_CURVE_SECP256K1: + *len = sizeof(C_OID_SECP256K1); + return (unsigned char*)PIC(C_OID_SECP256K1); + + case CX_CURVE_SECP256R1: + *len = sizeof(C_OID_SECP256R1); + return (unsigned char*)PIC(C_OID_SECP256R1); + + case CX_CURVE_SECP384R1: + *len = sizeof(C_OID_SECP384R1); + return (unsigned char*)PIC(C_OID_SECP384R1); + + case CX_CURVE_SECP521R1: + *len = sizeof(C_OID_SECP521R1); + return (unsigned char*)PIC(C_OID_SECP521R1); + + case CX_CURVE_BrainPoolP256R1: + *len = sizeof(C_OID_SECP256R1); + return (unsigned char*)PIC(C_OID_SECP256R1); + + case CX_CURVE_BrainPoolP384R1: + *len = sizeof(C_OID_SECP384R1); + return (unsigned char*)PIC(C_OID_SECP384R1); + + case CX_CURVE_BrainPoolP512R1: + *len = sizeof(C_OID_SECP521R1); + return (unsigned char*)PIC(C_OID_SECP521R1); + + case CX_CURVE_Ed25519: + *len = sizeof(C_OID_Ed25519); + return (unsigned char*)PIC(C_OID_Ed25519); + + case CX_CURVE_Curve25519: + *len = sizeof(C_OID_cv25519); + return (unsigned char*)PIC(C_OID_cv25519); + } + + *len = 0; + return NULL; +} + +unsigned int gpg_curve2domainlen(unsigned int cv) { + switch (cv) { + + case CX_CURVE_SECP256K1: + case CX_CURVE_SECP256R1: + case CX_CURVE_BrainPoolP256R1: + case CX_CURVE_Ed25519: + case CX_CURVE_Curve25519: + return 32; + + case CX_CURVE_SECP384R1: + case CX_CURVE_BrainPoolP384R1: + return 48; + + case CX_CURVE_BrainPoolP512R1: + return 64; + + case CX_CURVE_SECP521R1: + return 66; + } + + return 0; +} + /* -------------------------------*/ /* -- Non Mutable Capabilities -- */ /* -------------------------------*/ @@ -123,7 +231,7 @@ const unsigned char C_ext_length[8] = { const unsigned char C_default_AID[] = { 0xD2, 0x76, 0x00, 0x01, 0x24, 0x01, //version - 0x03, 0x00, + 0x03, 0x03, //manufacturer 0x2C, 0x97, //serial @@ -155,7 +263,7 @@ const unsigned char C_default_AlgoAttrRSA[] = { 0x01 }; -#if 1 +#if 0 const unsigned char C_default_AlgoAttrECC_sig[] = { // ecdsa 0x13, @@ -168,8 +276,20 @@ const unsigned char C_default_AlgoAttrECC_dec[] = { // NIST-P256 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x01,0x07 }; - -#else +#elif 0 +const unsigned char C_default_AlgoAttrECC_sig[] = { + // ecdsa + 0x13, + // NIST-P384 + 0x2B, 0x81, 0x04, 0x00 , 0x22 +}; +const unsigned char C_default_AlgoAttrECC_dec[] = { + // ecdh + 0x12, + // NIST-P384 + 0x2B, 0x81, 0x04, 0x00 , 0x22 +}; +#elif 1 const unsigned char C_default_AlgoAttrECC_sig[] = { // eddsa 0x16, @@ -283,7 +403,6 @@ int gpg_install(unsigned char app_state) { gpg_nvm_write(&N_gpg_pstate->config_slot, G_gpg_vstate.work.io_buffer, 3); //config rsa pub - #define GPG_RSA_DEFAULT_PUB 0x00010001 G_gpg_vstate.work.io_buffer[0] = (GPG_RSA_DEFAULT_PUB>>24)&0xFF; G_gpg_vstate.work.io_buffer[1] = (GPG_RSA_DEFAULT_PUB>>16)&0xFF; G_gpg_vstate.work.io_buffer[2] = (GPG_RSA_DEFAULT_PUB>>8)&0xFF; @@ -304,7 +423,10 @@ int gpg_install(unsigned char app_state) { //default key template: RSA 2048) for (int s = 0; s< GPG_KEYS_SLOTS; s++) { -#if 0 + unsigned char uif[2]; + uif[0] = 0x00; + uif[1] = 0x20; +#if 1 l = sizeof(C_default_AlgoAttrRSA); gpg_nvm_write(&N_gpg_pstate->keys[s].sig.attributes.value, (void*)C_default_AlgoAttrRSA, l); gpg_nvm_write(&N_gpg_pstate->keys[s].sig.attributes.length, &l, sizeof(unsigned int)); @@ -322,6 +444,11 @@ int gpg_install(unsigned char app_state) { gpg_nvm_write(&N_gpg_pstate->keys[s].dec.attributes.value, (void*)C_default_AlgoAttrECC_dec, l); gpg_nvm_write(&N_gpg_pstate->keys[s].dec.attributes.length, &l, sizeof(unsigned int)); #endif + gpg_nvm_write(&N_gpg_pstate->keys[s].sig.UIF, &uif, 2); + gpg_nvm_write(&N_gpg_pstate->keys[s].dec.UIF, &uif, 2); + gpg_nvm_write(&N_gpg_pstate->keys[s].aut.UIF, &uif, 2); + + } } diff --git a/src/gpg_pso.c b/src/gpg_pso.c index f4d77fb..8d1895c 100644 --- a/src/gpg_pso.c +++ b/src/gpg_pso.c @@ -18,6 +18,7 @@ #include "gpg_types.h" #include "gpg_api.h" #include "gpg_vars.h" +#include "gpg_ux_nanos.h" const unsigned char gpg_oid_sha256[] = { 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20 @@ -41,16 +42,16 @@ static int gpg_sign(gpg_key_t *sigkey) { ksz = ksz>>3; switch(ksz) { case 1024/8: - key = (cx_rsa_private_key_t *)&sigkey->key.rsa1024; + key = (cx_rsa_private_key_t *)&sigkey->priv_key.rsa1024; break; case 2048/8: - key = (cx_rsa_private_key_t *)&sigkey->key.rsa2048; + key = (cx_rsa_private_key_t *)&sigkey->priv_key.rsa2048; break; case 3072/8: - key = (cx_rsa_private_key_t *)&sigkey->key.rsa3072; + key = (cx_rsa_private_key_t *)&sigkey->priv_key.rsa3072; break; case 4096/8: - key = (cx_rsa_private_key_t *)&sigkey->key.rsa4096; + key = (cx_rsa_private_key_t *)&sigkey->priv_key.rsa4096; break; } if (key->size != ksz) { @@ -83,21 +84,21 @@ static int gpg_sign(gpg_key_t *sigkey) { if ((sigkey->attributes.value[0] == 19) || (sigkey->attributes.value[0] == 22)) { cx_ecfp_private_key_t *key; - unsigned int sz,i,rs_len,info; + unsigned int sz,i,rs_len; unsigned char *rs; - key = &sigkey->key.ecfp256; - if (key->d_len != 32) { - THROW(SW_CONDITIONS_NOT_SATISFIED); - return SW_CONDITIONS_NOT_SATISFIED; - } + key = &sigkey->priv_key.ecfp; //sign if (sigkey->attributes.value[0] == 19) { - + sz = gpg_curve2domainlen(key->curve); + if ((sz == 0) || (key->d_len != sz)) { + THROW(SW_CONDITIONS_NOT_SATISFIED); + return SW_CONDITIONS_NOT_SATISFIED; + } sz = cx_ecdsa_sign(key, CX_RND_TRNG, CX_NONE, - G_gpg_vstate.work.io_buffer, 32/*G_gpg_vstate.io_length*/, + G_gpg_vstate.work.io_buffer, sz, G_gpg_vstate.work.io_buffer, GPG_IO_BUFFER_LENGTH, NULL); //reencode r,s in MPI format @@ -149,19 +150,27 @@ int gpg_apdu_pso() { switch(pso) { // --- PSO:CDS --- case 0x9e9a: - if ((G_gpg_vstate.kslot->sig.UIF[0]) && ((G_gpg_vstate.UIF_flags)==0)) { - ui_menu_uifconfirm_display(0); - return 0; + if (G_gpg_vstate.kslot->sig.UIF[0]) { + if ((G_gpg_vstate.UIF_flags)==0) { + ui_menu_uifconfirm_display(0); + return 0; + } + G_gpg_vstate.UIF_flags = 0; } - - case 0x8680: - if ((G_gpg_vstate.kslot->dec.UIF[0]) && ((G_gpg_vstate.UIF_flags)==0)) { - ui_menu_uifconfirm_display(0); - return 0; + break; + // --- PSO:DEC --- + case 0x8096: + if (G_gpg_vstate.kslot->dec.UIF[0]) { + if ((G_gpg_vstate.UIF_flags)==0) { + ui_menu_uifconfirm_display(0); + return 0; + } + G_gpg_vstate.UIF_flags = 0; } + break; } - + // --- PSO:ENC --- switch(pso) { // --- PSO:CDS --- case 0x9e9a: { @@ -214,16 +223,16 @@ int gpg_apdu_pso() { key = NULL; switch(ksz) { case 1024/8: - key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->key.rsa1024; + key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->priv_key.rsa1024; break; case 2048/8: - key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->key.rsa2048; + key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->priv_key.rsa2048; break; case 3072/8: - key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->key.rsa3072; + key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->priv_key.rsa3072; break; case 4096/8: - key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->key.rsa4096; + key = (cx_rsa_private_key_t *)&G_gpg_vstate.mse_dec->priv_key.rsa4096; break; } @@ -272,11 +281,7 @@ int gpg_apdu_pso() { THROW(SW_CONDITIONS_NOT_SATISFIED); return SW_CONDITIONS_NOT_SATISFIED; } - key = &G_gpg_vstate.mse_dec->key.ecfp256; - if (key->d_len != 32) { - THROW(SW_CONDITIONS_NOT_SATISFIED); - return SW_CONDITIONS_NOT_SATISFIED; - } + key = &G_gpg_vstate.mse_dec->priv_key.ecfp; gpg_io_fetch_l(&l); gpg_io_fetch_tl(&t, &l); if (t != 0x7f49) { @@ -290,6 +295,10 @@ int gpg_apdu_pso() { } curve = gpg_oid2curve(G_gpg_vstate.mse_dec->attributes.value+1, G_gpg_vstate.mse_dec->attributes.length-1); + if (key->curve != curve) { + THROW(SW_CONDITIONS_NOT_SATISFIED); + return SW_CONDITIONS_NOT_SATISFIED; + } if (curve == CX_CURVE_Curve25519) { unsigned int i; @@ -335,9 +344,13 @@ int gpg_apdu_pso() { int gpg_apdu_internal_authenticate() { - if ((G_gpg_vstate.kslot->aut.UIF[0]) && ((G_gpg_vstate.UIF_flags)==0)) { - ui_menu_uifconfirm_display(0); - return 0; + // --- PSO:AUTH --- + if (G_gpg_vstate.kslot->aut.UIF[0]) { + if ((G_gpg_vstate.UIF_flags)==0) { + ui_menu_uifconfirm_display(0); + return 0; + } + G_gpg_vstate.UIF_flags = 0; } if (G_gpg_vstate.mse_aut->attributes.value[0] == 1) { diff --git a/src/gpg_types.h b/src/gpg_types.h index d34fc63..c98b766 100644 --- a/src/gpg_types.h +++ b/src/gpg_types.h @@ -36,7 +36,7 @@ #define GPG_KEY_ATTRIBUTES_LENGTH 12 -#define GPG_RSA_DEFAULT_PUB 0x010001U +#define GPG_RSA_DEFAULT_PUB 0x00010001U struct gpg_pin_s { unsigned int ref; @@ -66,15 +66,25 @@ typedef struct gpg_key_s { LV(attributes,GPG_KEY_ATTRIBUTES_LENGTH); /* key value */ union { + cx_rsa_private_key_t rsa; cx_rsa_1024_private_key_t rsa1024; cx_rsa_2048_private_key_t rsa2048; cx_rsa_3072_private_key_t rsa3072; cx_rsa_4096_private_key_t rsa4096; - cx_ecfp_private_key_t ecfp256; - } key; + + cx_ecfp_private_key_t ecfp; + cx_ecfp_256_private_key_t ecfp256; + cx_ecfp_384_private_key_t ecfp384; + cx_ecfp_512_private_key_t ecfp512; + cx_ecfp_640_private_key_t ecfp640; + } priv_key; union { - unsigned char rsa[4]; - cx_ecfp_public_key_t ecfp256; + unsigned char rsa[4]; + cx_ecfp_public_key_t ecfp; + cx_ecfp_256_public_key_t ecfp256; + cx_ecfp_384_public_key_t ecfp384; + cx_ecfp_512_public_key_t ecfp512; + cx_ecfp_640_public_key_t ecfp640; } pub_key; /* C7 C8 C9 , C5 = C7|C8|C9*/ unsigned char fingerprints[20]; @@ -193,26 +203,41 @@ struct gpg_v_state_s { unsigned short io_mark; union { unsigned char io_buffer[GPG_IO_BUFFER_LENGTH]; + struct { - cx_rsa_1024_public_key_t public; - cx_rsa_1024_private_key_t private; - }rsa1024; + union { + cx_rsa_public_key_t public; + cx_rsa_1024_public_key_t public1024; + cx_rsa_2048_public_key_t public2048; + cx_rsa_3072_public_key_t public3072; + cx_rsa_4096_public_key_t public4096; + }; + union { + cx_rsa_private_key_t private; + cx_rsa_1024_private_key_t private1024; + cx_rsa_2048_private_key_t private2048; + cx_rsa_3072_private_key_t private3072; + cx_rsa_4096_private_key_t private4096; + }; + } rsa; + struct { - cx_rsa_2048_public_key_t public; - cx_rsa_2048_private_key_t private; - }rsa2048; - struct { - cx_rsa_3072_public_key_t public; - cx_rsa_3072_private_key_t private; - }rsa3072; - struct { - cx_rsa_4096_public_key_t public; - cx_rsa_4096_private_key_t private; - }rsa4096; - struct { - cx_ecfp_public_key_t public; - cx_ecfp_private_key_t private; - }ecfp256; + union{ + cx_ecfp_public_key_t public; + cx_ecfp_256_public_key_t public256; + cx_ecfp_384_public_key_t public384; + cx_ecfp_512_public_key_t public512; + cx_ecfp_640_public_key_t public640; + }; + union { + cx_ecfp_private_key_t private; + cx_ecfp_256_private_key_t private256; + cx_ecfp_384_private_key_t private384; + cx_ecfp_512_private_key_t private512; + cx_ecfp_640_private_key_t private640; + }; + }ecfp; + struct { unsigned char md_buffer[GPG_IO_BUFFER_LENGTH-MAX(sizeof(cx_sha3_t),sizeof(cx_sha256_t))]; union { diff --git a/src/gpg_ux_msg.c b/src/gpg_ux_msg.c index e455438..c684890 100644 --- a/src/gpg_ux_msg.c +++ b/src/gpg_ux_msg.c @@ -34,3 +34,5 @@ const char * const C_NOT_ALLOWED = "Not Allowed "; const char * const C_DEFAULT_MODE = "Default mode"; + +const char * const C_UIF_LOCKED = "UIF locked"; diff --git a/src/gpg_ux_msg.h b/src/gpg_ux_msg.h index 1090930..38847a6 100644 --- a/src/gpg_ux_msg.h +++ b/src/gpg_ux_msg.h @@ -36,6 +36,9 @@ extern const char * const C_NOT_ALLOWED; extern const char * const C_DEFAULT_MODE; +extern const char * const C_UIF_LOCKED; +extern const char * const C_UIF_INVALID; + #define PICSTR(x) ((char*)PIC(x)) #define TEMPLATE_TYPE PICSTR(C_TEMPLATE_TYPE) @@ -54,5 +57,7 @@ extern const char * const C_DEFAULT_MODE; #define ALLOWED PICSTR(C_ALLOWED) #define NOT_ALLOWED PICSTR(C_NOT_ALLOWED) #define DEFAULT_MODE PICSTR(C_DEFAULT_MODE) +#define UIF_LOCKED PICSTR(C_UIF_LOCKED) +#define UIF_INVALID PICSTR(C_UIF_INVALID) #endif diff --git a/src/gpg_ux_nanos.c b/src/gpg_ux_nanos.c index e909c4c..d9e1808 100644 --- a/src/gpg_ux_nanos.c +++ b/src/gpg_ux_nanos.c @@ -134,7 +134,7 @@ void ui_menu_uifconfirm_display(unsigned int value) { unsigned int ui_uifconfirm_prepro(const bagl_element_t* element) { if (element->component.userid == 1) { - snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), "Confirm Operation:"); + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), "Confirm:"); return 1; } if (element->component.userid == 2) { @@ -175,7 +175,14 @@ unsigned int ui_uifconfirm_nanos_button(unsigned int button_mask, unsigned int b BEGIN_TRY { TRY { G_gpg_vstate.UIF_flags = 1; - sw = gpg_apdu_pso(); + if (G_gpg_vstate.io_ins == INS_PSO) { + sw = gpg_apdu_pso(); + } else if (G_gpg_vstate.io_ins == INS_INTERNAL_AUTHENTICATE) { + sw = gpg_apdu_internal_authenticate(); + } else { + gpg_io_discard(1); + sw = 0x6985; + } } CATCH_OTHER(e) { gpg_io_discard(1); @@ -499,12 +506,17 @@ static unsigned int validate_pin() { #define LABEL_AUT "Authentication" #define LABEL_DEC "Decryption" -#define LABEL_RSA2048 "RSA 2048" -#define LABEL_RSA3072 "RSA 3072" -#define LABEL_RSA4096 "RSA 4096" -#define LABEL_NISTP256 "NIST P256" -#define LABEL_BPOOLR1 "Brainpool R1" -#define LABEL_Ed25519 "Ed25519" +#define LABEL_RSA2048 "RSA 2048" +#define LABEL_RSA3072 "RSA 3072" +#define LABEL_RSA4096 "RSA 4096" +#define LABEL_NISTP256 "NIST P256" +//#define LABEL_NISTP384 "NIST P384" +//#define LABEL_NISTP521 "NIST P521" +#define LABEL_SECP256K1 "SEPC 256K1" +#define LABEL_BPOOL256R1 "Brainpool 256R1" +//#define LABEL_BPOOL384R1 "Brainpool 384R1" +//#define LABEL_BPOOL512R1 "Brainpool 512R1" +#define LABEL_Ed25519 "Ed25519" const ux_menu_entry_t ui_menu_template[] = { {ui_menu_tmpl_key, NULL, -1, NULL, "Choose key...", NULL, 0, 0}, @@ -548,12 +560,34 @@ const bagl_element_t* ui_menu_template_preprocessor(const ux_menu_entry_t* entry case 4096: snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_RSA4096); break; + case CX_CURVE_SECP256R1: snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_NISTP256); break; - case CX_CURVE_BrainPoolP256R1: - snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_BPOOLR1); + /* + case CX_CURVE_SECP384R1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_NISTP384); break; + case CX_CURVE_SECP521R1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_NISTP521); + break; + */ + case CX_CURVE_SECP256K1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_SECP256K1); + break; + + case CX_CURVE_BrainPoolP256R1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_BPOOL256R1); + break; + /* + case CX_CURVE_BrainPoolP384R1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_BPOOL384R1); + break; + case CX_CURVE_BrainPoolP512R1: + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_BPOOL512R1); + break; + */ + case CX_CURVE_Ed25519: snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu)," %s", LABEL_Ed25519); break; @@ -574,7 +608,8 @@ void ui_menu_tmpl_set_action(unsigned int value) { LV(attributes,GPG_KEY_ATTRIBUTES_LENGTH); gpg_key_t* dest; const char* err; - + const unsigned char *oid; + unsigned int oid_len; err = NULL; os_memset(&attributes, 0, sizeof(attributes)); @@ -591,24 +626,21 @@ void ui_menu_tmpl_set_action(unsigned int value) { attributes.length = 6; break; + case CX_CURVE_SECP256K1: case CX_CURVE_SECP256R1: - if (G_gpg_vstate.ux_key == 2) { - attributes.value[0] = 18; //ecdh - } else { - attributes.value[0] = 19; //ecdsa - } - os_memmove(attributes.value+1, C_OID_SECP256R1, sizeof(C_OID_SECP256R1)); - attributes.length = 1+sizeof(C_OID_SECP256R1); - break; - + //case CX_CURVE_SECP384R1: + //case CX_CURVE_SECP521R1: case CX_CURVE_BrainPoolP256R1: - if (G_gpg_vstate.ux_key == 2) { + //case CX_CURVE_BrainPoolP384R1: + //case CX_CURVE_BrainPoolP512R1: + if (G_gpg_vstate.ux_key == 2) { attributes.value[0] = 18; //ecdh } else { attributes.value[0] = 19; //ecdsa } - os_memmove(attributes.value+1, C_OID_BRAINPOOL256R1, sizeof(C_OID_BRAINPOOL256R1)); - attributes.length = 1+sizeof(C_OID_BRAINPOOL256R1); + oid = gpg_curve2oid(G_gpg_vstate.ux_type, &oid_len); + os_memmove(attributes.value+1, oid, sizeof(oid_len)); + attributes.length = 1+oid_len; break; case CX_CURVE_Ed25519: @@ -623,7 +655,7 @@ void ui_menu_tmpl_set_action(unsigned int value) { } break; - default: + default: err = TEMPLATE_TYPE; goto ERROR; } @@ -670,13 +702,18 @@ void ui_menu_tmpl_key_action(unsigned int value) { const ux_menu_entry_t ui_menu_tmpl_type[] = { - {NULL, ui_menu_tmpl_type_action, 2048, NULL, LABEL_RSA2048, NULL, 0, 0}, - {NULL, ui_menu_tmpl_type_action, 3072, NULL, LABEL_RSA3072, NULL, 0, 0}, - {NULL, ui_menu_tmpl_type_action, 4096, NULL, LABEL_RSA4096, NULL, 0, 0}, - {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP256R1, NULL, LABEL_NISTP256, NULL, 0, 0}, - {NULL, ui_menu_tmpl_type_action, CX_CURVE_BrainPoolP256R1, NULL, LABEL_BPOOLR1, NULL, 0, 0}, - {NULL, ui_menu_tmpl_type_action, CX_CURVE_Ed25519, NULL, LABEL_Ed25519, NULL, 0, 0}, - {ui_menu_template, NULL, 1, &C_badge_back, "Back", NULL, 61, 40}, + {NULL, ui_menu_tmpl_type_action, 2048, NULL, LABEL_RSA2048, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, 3072, NULL, LABEL_RSA3072, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, 4096, NULL, LABEL_RSA4096, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP256R1, NULL, LABEL_NISTP256, NULL, 0, 0}, +// {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP384R1, NULL, LABEL_NISTP384, NULL, 0, 0}, +// {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP521R1, NULL, LABEL_NISTP521, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, CX_CURVE_SECP256K1, NULL, LABEL_SECP256K1, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, CX_CURVE_BrainPoolP256R1, NULL, LABEL_BPOOL256R1, NULL, 0, 0}, +// {NULL, ui_menu_tmpl_type_action, CX_CURVE_BrainPoolP384R1, NULL, LABEL_BPOOL384R1, NULL, 0, 0}, +// {NULL, ui_menu_tmpl_type_action, CX_CURVE_BrainPoolP512R1, NULL, LABEL_BPOOL512R1, NULL, 0, 0}, + {NULL, ui_menu_tmpl_type_action, CX_CURVE_Ed25519, NULL, LABEL_Ed25519, NULL, 0, 0}, + {ui_menu_template, NULL, 1, &C_badge_back, "Back", NULL, 61, 40}, UX_MENU_END }; @@ -803,6 +840,84 @@ void ui_menu_pinmode_action(unsigned int value) { // redisplay first entry of the idle menu ui_menu_pinmode_display(0); } + + + +/* ------------------------------- UIF MODE UX ------------------------------ */ +const ux_menu_entry_t ui_menu_uifmode[]; +void ui_menu_uifmode_display(unsigned int value); +const bagl_element_t* ui_menu_uifmode_preprocessor(const ux_menu_entry_t* entry, bagl_element_t* element); +void ui_menu_uifmode_action(unsigned int value); + +const ux_menu_entry_t ui_menu_uifmode[] = { + {NULL, NULL, -1, NULL, "Activate (+) for:", NULL, 0, 0}, + {NULL, ui_menu_uifmode_action, 1, NULL, "Signature", NULL, 0, 0}, + {NULL, ui_menu_uifmode_action, 2, NULL, "Decryption", NULL, 0, 0}, + {NULL, ui_menu_uifmode_action, 3, NULL, "Authentication", NULL, 0, 0}, + {ui_menu_settings, NULL, 1, &C_badge_back, "Back", NULL, 61, 40}, + UX_MENU_END +}; + +void ui_menu_uifmode_display(unsigned int value) { + UX_MENU_DISPLAY(value, ui_menu_uifmode, ui_menu_uifmode_preprocessor); +} + +const bagl_element_t* ui_menu_uifmode_preprocessor(const ux_menu_entry_t* entry, bagl_element_t* element) { + if (element->component.userid==0x20) { + if ((entry->userid >= 1) && (entry->userid<=3)) { + unsigned char uif[2] ; + uif[0] = 0; + uif[1] = 0; + switch (entry->userid) { + case 1: + *uif = G_gpg_vstate.kslot->sig.UIF[0]?'+':' '; + break; + case 2: + *uif = G_gpg_vstate.kslot->dec.UIF[0]?'+':' '; + break; + case 3: + *uif = G_gpg_vstate.kslot->aut.UIF[0]?'+':' '; + break; + } + snprintf(G_gpg_vstate.menu, sizeof(G_gpg_vstate.menu), "%s %s", + (char*)PIC(entry->line1), uif); + element->text = G_gpg_vstate.menu; + element->component.height = 32; + } + } + return element; +} + +void ui_menu_uifmode_action(unsigned int value) { + unsigned char *uif; + unsigned char new_uif; + switch (value) { + case 1: + uif = &G_gpg_vstate.kslot->sig.UIF[0]; + break; + case 2: + uif = &G_gpg_vstate.kslot->dec.UIF[0]; + break; + case 3: + uif = &G_gpg_vstate.kslot->aut.UIF[0]; + break; + default: + ui_info(INVALID_SELECTION, NULL, ui_menu_uifmode_display,0); + return; + } + if (uif[0] == 0) { + new_uif = 1; + gpg_nvm_write(&uif[0], &new_uif, 1); + } else if (uif[0] == 1) { + new_uif = 0; + gpg_nvm_write(&uif[0], &new_uif, 1) ; + } else /*if (uif[0] == 2 )*/ { + ui_info(UIF_LOCKED, NULL, ui_menu_uifmode_display,0); + return; + } + ui_menu_uifmode_display(value); +} + /* -------------------------------- RESET UX --------------------------------- */ const ux_menu_entry_t ui_menu_reset[] = { @@ -829,6 +944,7 @@ const ux_menu_entry_t ui_menu_settings[] = { {NULL, ui_menu_template_display, 0, NULL, "Key template", NULL, 0, 0}, {NULL, ui_menu_seed_display, 0, NULL, "Seed mode", NULL, 0, 0}, {NULL, ui_menu_pinmode_display, 0, NULL, "PIN mode", NULL, 0, 0}, + {NULL, ui_menu_uifmode_display, 0, NULL, "UIF mode", NULL, 0, 0}, {ui_menu_reset, NULL, 0, NULL, "Reset", NULL, 0, 0}, {NULL, ui_menu_main_display, 2, &C_badge_back, "Back", NULL, 61, 40}, UX_MENU_END diff --git a/src/gpg_ux_nanos.h b/src/gpg_ux_nanos.h index 499c86b..ba41bf4 100644 --- a/src/gpg_ux_nanos.h +++ b/src/gpg_ux_nanos.h @@ -22,4 +22,5 @@ void ui_init(void); void ui_main_display(unsigned int value); void ui_menu_pinconfirm_display(unsigned int value); void ui_menu_pinentry_display(unsigned int value); +void ui_menu_uifconfirm_display(unsigned int value); #endif \ No newline at end of file diff --git a/src/sdk/usbd_ccid_cmd.c b/src/sdk/usbd_ccid_cmd.c new file mode 100755 index 0000000..1558d3d --- /dev/null +++ b/src/sdk/usbd_ccid_cmd.c @@ -0,0 +1,1057 @@ +/** + ****************************************************************************** + * @file usbd_ccid_cmd.c + * @author MCD Application Team + * @version V1.0.1 + * @date 31-January-2014 + * @brief CCID Commands handling + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2014 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 + * + * 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. + * + ****************************************************************************** + */ + +#pragma message "Override SDK source file :" __FILE__ + + +/* Includes ------------------------------------------------------------------*/ +#include "usbd_ccid_cmd.h" + +#ifdef HAVE_USB_CLASS_CCID + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +#define CCID_UpdateCommandStatus(cmd_status,icc_status)\ + G_io_ccid.bulk_header.bulkin.bStatus=(cmd_status|icc_status) + /* + The Above Macro can take any of following Values + #define BM_ICC_PRESENT_ACTIVE 0x00 + #define BM_ICC_PRESENT_INACTIVE 0x01 + #define BM_ICC_NO_ICC_PRESENT 0x02 + + #define BM_COMMAND_STATUS_OFFSET 0x06 + #define BM_COMMAND_STATUS_NO_ERROR 0x00 + #define BM_COMMAND_STATUS_FAILED (0x01 << BM_COMMAND_STATUS_OFFSET) + #define BM_COMMAND_STATUS_TIME_EXTN (0x02 << BM_COMMAND_STATUS_OFFSET) + */ + +/* Private function prototypes -----------------------------------------------*/ +static uint8_t CCID_CheckCommandParams (uint32_t param_type); + +/* Private functions ---------------------------------------------------------*/ + +/** + * @brief PC_to_RDR_IccPowerOn + * PC_TO_RDR_ICCPOWERON message execution, apply voltage and get ATR + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_IccPowerOn(void) +{ + /* Apply the ICC VCC + Fills the Response buffer with ICC ATR + This Command is returned with RDR_to_PC_DataBlock(); + */ + + uint8_t voltage; + uint8_t sc_voltage = 0; + uint8_t error; + + G_io_ccid.bulk_header.bulkin.dwLength = 0; /* Reset Number of Bytes in abData */ + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_DWLENGTH | \ + CHK_PARAM_abRFU2 |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_ABORT ); + if (error != 0) + { + return error; + } + + /* Voltage that is applied to the ICC + 00h – Automatic Voltage Selection + 01h – 5.0 volts + 02h – 3.0 volts + 03h – 1.8 volts + */ + /* G_io_ccid.bulk_header.bulkout.bSpecific_0 Contains bPowerSelect */ + voltage = G_io_ccid.bulk_header.bulkout.bSpecific_0; + if (voltage >= VOLTAGE_SELECTION_1V8) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_POWERSELECT; /* The Voltage specified is out of Spec */ + } + + /* Correct Voltage Requested by the Host */ + if ((voltage == VOLTAGE_SELECTION_AUTOMATIC) || + (voltage == VOLTAGE_SELECTION_3V)) + { + /* voltage == 00 Voltage Automatic + voltage == 01 Voltage Automatic = 5.0V + voltage == 02 Voltage Automatic = 3V + voltage == 03 Voltage Automatic = 1.8V + */ + sc_voltage = SC_VOLTAGE_3V; + } + else if (voltage == VOLTAGE_SELECTION_5V) + { + sc_voltage = SC_VOLTAGE_5V; + } + + G_io_ccid.bulk_header.bulkin.dwLength = SC_AnswerToReset(sc_voltage, G_io_ccid_data_buffer); + + /* Check if the Card has come to Active State*/ + error = CCID_CheckCommandParams(CHK_ACTIVE_STATE); + if (error != 0) + { + /* Check if Voltage is not Automatic */ + if (voltage != 0) + { /* If Specific Voltage requested by Host i.e 3V or 5V*/ + return error; + } + else + {/* Automatic Voltage selection requested by Host */ + + if (sc_voltage != SC_VOLTAGE_5V) + { /* If voltage selected was Automatic and 5V is not yet tried */ + sc_voltage = SC_VOLTAGE_5V; + G_io_ccid.bulk_header.bulkin.dwLength = SC_AnswerToReset(sc_voltage, G_io_ccid_data_buffer); + + /* Check again the State */ + error = CCID_CheckCommandParams(CHK_ACTIVE_STATE); + if (error != 0) + return error; + + } + else + { /* Voltage requested from Host was 5V already*/ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_INACTIVE); + return error; + } + } /* Voltage Selection was automatic */ + } /* If Active State */ + + /* ATR is received, No Error Condition Found */ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + + return SLOT_NO_ERROR; +} + +/** + * @brief PC_to_RDR_IccPowerOff + * Icc VCC is switched Off + * @param None + * @retval uint8_t error: status of the command execution + */ +uint8_t PC_to_RDR_IccPowerOff(void) +{ + /* The response to this command message is the RDR_to_PC_SlotStatus + response message. */ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_abRFU3 |\ + CHK_PARAM_DWLENGTH ); + if (error != 0) + { + return error; + } + + /* Command is ok, Check for Card Presence */ + if (SC_Detect()) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR,BM_ICC_PRESENT_INACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR,BM_ICC_NO_ICC_PRESENT); + } + + /* Power OFF the card */ + SC_Poweroff(); + + return SLOT_NO_ERROR; +} + +/** + * @brief PC_to_RDR_GetSlotStatus + * Provides the Slot status to the host + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_GetSlotStatus(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_DWLENGTH |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3 ); + if (error != 0) + { + return error; + } + + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR,BM_ICC_PRESENT_ACTIVE); + return SLOT_NO_ERROR; +} + + +/** + * @brief PC_to_RDR_XfrBlock + * Handles the Block transfer from Host. + * Response to this command message is the RDR_to_PC_DataBlock + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_XfrBlock(void) +{ + uint16_t expectedLength, reqlen; + + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3 |\ + CHK_PARAM_ABORT |\ + CHK_ACTIVE_STATE ); + if (error != 0) + return error; + + if (G_io_ccid.bulk_header.bulkout.dwLength > IO_CCID_DATA_BUFFER_SIZE) + { /* Check amount of Data Sent by Host is > than memory allocated ? */ + + return SLOTERROR_BAD_DWLENGTH; + } + + + /* wLevelParameter = Size of expected data to be returned by the + bulk-IN endpoint */ + expectedLength = (G_io_ccid.bulk_header.bulkout.bSpecific_2 << 8) | + G_io_ccid.bulk_header.bulkout.bSpecific_1; + + reqlen = G_io_ccid.bulk_header.bulkout.dwLength; + + G_io_ccid.bulk_header.bulkin.dwLength = (uint16_t)expectedLength; + + + error = SC_XferBlock(&G_io_ccid_data_buffer[0], + reqlen, + &expectedLength); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + error = SLOT_NO_ERROR; + } + + return error; +} + + +/** + * @brief PC_to_RDR_GetParameters + * Provides the ICC parameters to the host + * Response to this command message is the RDR_to_PC_Parameters + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_GetParameters(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_DWLENGTH |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3 ); + if (error != 0) + return error; + + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + + return SLOT_NO_ERROR; +} + + +/** + * @brief PC_to_RDR_ResetParameters + * Set the ICC parameters to the default + * Response to this command message is the RDR_to_PC_Parameters + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_ResetParameters(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_DWLENGTH |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3 |\ + CHK_ACTIVE_STATE); + if (error != 0) + return error; + + /* This command resets the slot parameters to their default values */ + G_io_ccid.Protocol0_DataStructure.bmFindexDindex = DEFAULT_FIDI; + G_io_ccid.Protocol0_DataStructure.bmTCCKST0 = DEFAULT_T01CONVCHECKSUM; + G_io_ccid.Protocol0_DataStructure.bGuardTimeT0 = DEFAULT_EXTRA_GUARDTIME; + G_io_ccid.Protocol0_DataStructure.bWaitingIntegerT0 = DEFAULT_WAITINGINTEGER; + G_io_ccid.Protocol0_DataStructure.bClockStop = DEFAULT_CLOCKSTOP; + + error = SC_SetParams(&G_io_ccid.Protocol0_DataStructure); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + error = SLOT_NO_ERROR; + } + + return error; +} + + +/** + * @brief PC_to_RDR_SetParameters + * Set the ICC parameters to the host defined parameters + * Response to this command message is the RDR_to_PC_Parameters + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_SetParameters(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU2 |\ + CHK_ACTIVE_STATE); + if (error != 0) + return error; + + error = SLOT_NO_ERROR; + + /* for Protocol T=0 (bProtocolNum=0) (dwLength=00000005h) */ + if ( (G_io_ccid.bulk_header.bulkout.dwLength == 5) && + (G_io_ccid.bulk_header.bulkout.bSpecific_0 != 0)) + error = SLOTERROR_BAD_PROTOCOLNUM; + + /* for Protocol T=1 (bProtocolNum=1) (dwLength=00000007h) */ + if ( (G_io_ccid.bulk_header.bulkout.dwLength == 7) && + (G_io_ccid.bulk_header.bulkout.bSpecific_0 != 1)) + error = SLOTERROR_CMD_NOT_SUPPORTED; + + /* For T0, Waiting Integer 0 supported */ + if (G_io_ccid_data_buffer[3] != 0) + error = SLOTERROR_BAD_WAITINGINTEGER; + + if (G_io_ccid_data_buffer[4] != DEFAULT_CLOCKSTOP) + error = SLOTERROR_BAD_CLOCKSTOP; + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + + os_memmove(&G_io_ccid.Protocol0_DataStructure, (Protocol0_DataStructure_t*)(&(G_io_ccid_data_buffer[0])), sizeof(Protocol0_DataStructure_t)); + error = SC_SetParams(&G_io_ccid.Protocol0_DataStructure); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + error = SLOT_NO_ERROR; + } + + return error; +} + + +/** + * @brief PC_to_RDR_Escape + * Execute the Escape command. This is user specific Implementation + * Response to this command message is the RDR_to_PC_Escape + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_Escape(void) +{ + uint8_t error; + uint16_t size; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3 |\ + CHK_PARAM_ABORT |\ + CHK_ACTIVE_STATE); + + if (error != 0) + return error; + + error = SC_ExecuteEscape(&G_io_ccid_data_buffer[0], + G_io_ccid.bulk_header.bulkout.dwLength, + &G_io_ccid_data_buffer[0], + &size); + + G_io_ccid.bulk_header.bulkin.dwLength = size; + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + + +/** + * @brief PC_to_RDR_IccClock + * Execute the Clock specific command from host + * Response to this command message is the RDR_to_PC_SlotStatus + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_IccClock(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU2 |\ + CHK_PARAM_DWLENGTH|\ + CHK_ACTIVE_STATE); + if (error != 0) + return error; + + /* bClockCommand • 00h restarts Clock + • 01h Stops Clock in the state shown in the bClockStop + field of the PC_to_RDR_SetParameters command + and RDR_to_PC_Parameters message.*/ + if (G_io_ccid.bulk_header.bulkout.bSpecific_0 > 1) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_CLOCKCOMMAND; + } + + error = SC_SetClock(G_io_ccid.bulk_header.bulkout.bSpecific_0); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + + +/** + * @brief PC_to_RDR_Abort + * Execute the Abort command from host, This stops all Bulk transfers + * from host and ICC + * Response to this command message is the RDR_to_PC_SlotStatus + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_to_RDR_Abort(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_abRFU3 |\ + CHK_PARAM_DWLENGTH); + if (error != 0) + return error; + + CCID_CmdAbort (G_io_ccid.bulk_header.bulkout.bSlot, G_io_ccid.bulk_header.bulkout.bSeq); + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR,BM_ICC_PRESENT_ACTIVE); + return SLOT_NO_ERROR; +} + +/** + * @brief CCID_CmdAbort + * Execute the Abort command from Bulk EP or from Control EP, + * This stops all Bulk transfers from host and ICC + * @param uint8_t slot: slot number that host wants to abort + * @param uint8_t seq : Seq number for PC_to_RDR_Abort + * @retval uint8_t status of the command execution + */ +uint8_t CCID_CmdAbort(uint8_t slot, uint8_t seq) +{ + /* This function is called for REQUEST_ABORT & PC_to_RDR_Abort */ + + if (slot >= CCID_NUMBER_OF_SLOTS) + { /* This error condition is possible only from CLASS_REQUEST, otherwise + Slot is already checked in parameters from PC_to_RDR_Abort request */ + /* Slot requested is more than supported by Firmware */ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_NO_ICC_PRESENT); + return SLOTERROR_BAD_SLOT; + } + + if ( G_io_ccid.usb_ccid_param.bAbortRequestFlag == 1) + { /* Abort Command was already received from ClassReq or PC_to_RDR */ + if (( G_io_ccid.usb_ccid_param.bSeq == seq) && (G_io_ccid.usb_ccid_param.bSlot == slot)) + { + /* CLASS Specific request is already Received, Reset the abort flag */ + G_io_ccid.usb_ccid_param.bAbortRequestFlag = 0; + } + } + else + { + /* Abort Command was NOT received from ClassReq or PC_to_RDR, + so save them for next ABORT command to verify */ + G_io_ccid.usb_ccid_param.bAbortRequestFlag = 1; + G_io_ccid.usb_ccid_param.bSeq = seq ; + G_io_ccid.usb_ccid_param.bSlot = slot; + } + + return 0; +} + +/** + * @brief PC_TO_RDR_T0Apdu + * Execute the PC_TO_RDR_T0APDU command from host + * Response to this command message is the RDR_to_PC_SlotStatus + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_TO_RDR_T0Apdu(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_DWLENGTH | + CHK_PARAM_ABORT ); + if (error != 0) + return error; + + if (G_io_ccid.bulk_header.bulkout.bSpecific_0 > 0x03) + {/* Bit 0 is associated with field bClassGetResponse + Bit 1 is associated with field bClassEnvelope + Other bits are RFU.*/ + + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_BMCHANGES; + } + + error = SC_T0Apdu(G_io_ccid.bulk_header.bulkout.bSpecific_0, + G_io_ccid.bulk_header.bulkout.bSpecific_1, + G_io_ccid.bulk_header.bulkout.bSpecific_2); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + +/** + * @brief PC_TO_RDR_Mechanical + * Execute the PC_TO_RDR_MECHANICAL command from host + * Response to this command message is the RDR_to_PC_SlotStatus + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_TO_RDR_Mechanical(void) +{ + uint8_t error; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU2 |\ + CHK_PARAM_DWLENGTH + ); + if (error != 0) + return error; + + if (G_io_ccid.bulk_header.bulkout.bSpecific_0 > 0x05) + {/* 01h – Accept Card + 02h – Eject Card + 03h – Capture Card + 04h – Lock Card + 05h – Unlock Card*/ + + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_BFUNCTION_MECHANICAL; + } + + error = SC_Mechanical(G_io_ccid.bulk_header.bulkout.bSpecific_0); + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + +/** + * @brief PC_TO_RDR_SetDataRateAndClockFrequency + * Set the required Card Frequency and Data rate from the host. + * Response to this command message is the + * RDR_to_PC_DataRateAndClockFrequency + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_TO_RDR_SetDataRateAndClockFrequency(void) +{ + uint8_t error; + uint32_t clockFrequency; + uint32_t dataRate; + uint32_t temp =0; + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_abRFU3); + if (error != 0) + return error; + + if (G_io_ccid.bulk_header.bulkout.dwLength != 0x08) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_LENTGH; + } + + /* HERE we avoiding to an unaligned memory access*/ + clockFrequency = U4LE(G_io_ccid_data_buffer, 0); + dataRate = U4LE(G_io_ccid_data_buffer, 4); + + error = SC_SetDataRateAndClockFrequency(clockFrequency, dataRate); + G_io_ccid.bulk_header.bulkin.bError = error; + + if (error != SLOT_NO_ERROR) + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + G_io_ccid.bulk_header.bulkin.dwLength = 8; + + (G_io_ccid_data_buffer[0]) = clockFrequency & 0x000000FF ; + (G_io_ccid_data_buffer[1]) = (clockFrequency & 0x0000FF00) >> 8; + (G_io_ccid_data_buffer[2]) = (clockFrequency & 0x00FF0000) >> 16; + (G_io_ccid_data_buffer[3]) = (clockFrequency & 0xFF000000) >> 24; + (G_io_ccid_data_buffer[4]) = dataRate & 0x000000FF ; + (G_io_ccid_data_buffer[5]) = (dataRate & 0x0000FF00) >> 8; + (G_io_ccid_data_buffer[6]) = (dataRate & 0x00FF0000) >> 16; + (G_io_ccid_data_buffer[7]) = (dataRate & 0xFF000000) >> 24; + + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + +/** + * @brief PC_TO_RDR_Secure + * Execute the Secure Command from the host. + * Response to this command message is the RDR_to_PC_DataBlock + * @param None + * @retval uint8_t status of the command execution + */ +uint8_t PC_TO_RDR_Secure(void) +{ + uint8_t error; + uint8_t bBWI; + uint16_t wLevelParameter; + uint32_t responseLen; + + + error = CCID_CheckCommandParams(CHK_PARAM_SLOT |\ + CHK_PARAM_CARD_PRESENT |\ + CHK_PARAM_ABORT ); + + if (error != 0) { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + return error; + } + + bBWI = G_io_ccid.bulk_header.bulkout.bSpecific_0; + wLevelParameter = (G_io_ccid.bulk_header.bulkout.bSpecific_1 + ((uint16_t)G_io_ccid.bulk_header.bulkout.bSpecific_2<<8)); + + if ((EXCHANGE_LEVEL_FEATURE == TPDU_EXCHANGE) || + (EXCHANGE_LEVEL_FEATURE == SHORT_APDU_EXCHANGE)) + { + /* TPDU level & short APDU level, wLevelParameter is RFU, = 0000h */ + if (wLevelParameter != 0 ) + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + error = SLOTERROR_BAD_LEVELPARAMETER; + return error; + } + } + + error = SC_Secure(G_io_ccid.bulk_header.bulkout.dwLength - CCID_HEADER_SIZE, bBWI, wLevelParameter, + &G_io_ccid_data_buffer[0], &responseLen); + + G_io_ccid.bulk_header.bulkin.dwLength = responseLen; + + if (error != SLOT_NO_ERROR) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED, BM_ICC_PRESENT_ACTIVE); + } + else + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_NO_ERROR, BM_ICC_PRESENT_ACTIVE); + } + + return error; +} + +/******************************************************************************/ +/* BULK IN ROUTINES */ +/******************************************************************************/ + +/** + * @brief RDR_to_PC_DataBlock + * Provide the data block response to the host + * Response for PC_to_RDR_IccPowerOn, PC_to_RDR_XfrBlock + * @param uint8_t errorCode: code to be returned to the host + * @retval None + */ +void RDR_to_PC_DataBlock(uint8_t errorCode) +{ + G_io_ccid.bulk_header.bulkin.bMessageType = RDR_TO_PC_DATABLOCK; + G_io_ccid.bulk_header.bulkin.bError = errorCode; + G_io_ccid.bulk_header.bulkin.bSpecific=0; /* bChainParameter */ + + /* void the Length Specified in Command */ + if(errorCode != SLOT_NO_ERROR) + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + } + + Transfer_Data_Request(); + +} + + +/** + * @brief RDR_to_PC_SlotStatus + * Provide the Slot status response to the host + * Response for PC_to_RDR_IccPowerOff + * PC_to_RDR_GetSlotStatus + * PC_to_RDR_IccClock + * PC_to_RDR_T0APDU + * PC_to_RDR_Mechanical + * Also the device sends this response message when it has completed + * aborting a slot after receiving both the Class Specific ABORT request + * and PC_to_RDR_Abort command message. + * @param uint8_t errorCode: code to be returned to the host + * @retval None + */ +void RDR_to_PC_SlotStatus(uint8_t errorCode) +{ + + G_io_ccid.bulk_header.bulkin.bMessageType = RDR_TO_PC_SLOTSTATUS; + G_io_ccid.bulk_header.bulkin.dwLength =0; + G_io_ccid.bulk_header.bulkin.bError = errorCode; + G_io_ccid.bulk_header.bulkin.bSpecific=0; /* bClockStatus = 00h Clock running + 01h Clock stopped in state L + 02h Clock stopped in state H + 03h Clock stopped in an unknown state + All other values are RFU. */ + + Transfer_Data_Request(); + +} + +/** + * @brief RDR_to_PC_Parameters + * Provide the data block response to the host + * Response for PC_to_RDR_GetParameters, PC_to_RDR_ResetParameters + * PC_to_RDR_SetParameters + * @param uint8_t errorCode: code to be returned to the host + * @retval None + */ +void RDR_to_PC_Parameters(uint8_t errorCode) +{ + + G_io_ccid.bulk_header.bulkin.bMessageType = RDR_TO_PC_PARAMETERS; + G_io_ccid.bulk_header.bulkin.bError = errorCode; + + if(errorCode == SLOT_NO_ERROR) + { + G_io_ccid.bulk_header.bulkin.dwLength = LEN_PROTOCOL_STRUCT_T0; + } + else + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + } + + os_memmove(G_io_ccid_data_buffer, &G_io_ccid.Protocol0_DataStructure, sizeof(G_io_ccid.Protocol0_DataStructure)); + + /* bProtocolNum */ + G_io_ccid.bulk_header.bulkin.bSpecific = BPROTOCOL_NUM_T0; + + Transfer_Data_Request(); +} + +/** + * @brief RDR_to_PC_Escape + * Provide the Escaped data block response to the host + * Response for PC_to_RDR_Escape + * @param uint8_t errorCode: code to be returned to the host + * @retval None + */ +void RDR_to_PC_Escape(uint8_t errorCode) +{ + G_io_ccid.bulk_header.bulkin.bMessageType = RDR_TO_PC_ESCAPE; + + G_io_ccid.bulk_header.bulkin.bSpecific=0; /* Reserved for Future Use */ + G_io_ccid.bulk_header.bulkin.bError = errorCode; + + /* void the Length Specified in Command */ + if(errorCode != SLOT_NO_ERROR) + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + } + + Transfer_Data_Request(); +} + + + +/** + * @brief RDR_to_PC_DataRateAndClockFrequency + * Provide the Clock and Data Rate information to host + * Response for PC_TO_RDR_SetDataRateAndClockFrequency + * @param uint8_t errorCode: code to be returned to the host + * @retval None + */ +void RDR_to_PC_DataRateAndClockFrequency(uint8_t errorCode) +{ + /* + uint16_t length = CCID_RESPONSE_HEADER_SIZE; + */ + + G_io_ccid.bulk_header.bulkin.bMessageType = RDR_TO_PC_DATARATEANDCLOCKFREQUENCY; + G_io_ccid.bulk_header.bulkin.bError = errorCode; + G_io_ccid.bulk_header.bulkin.bSpecific=0; /* Reserved for Future Use */ + + /* void the Length Specified in Command */ + if(errorCode != SLOT_NO_ERROR) + { + G_io_ccid.bulk_header.bulkin.dwLength = 0; + } + + Transfer_Data_Request(); +} + +#ifdef HAVE_CCID_INTERRUPT +/** + * @brief RDR_to_PC_NotifySlotChange + * Interrupt message to be sent to the host, Checks the card presence + * status and update the buffer accordingly + * @param None + * @retval None + */ +void RDR_to_PC_NotifySlotChange(void) +{ + G_io_ccid.UsbIntMessageBuffer[OFFSET_INT_BMESSAGETYPE] = RDR_TO_PC_NOTIFYSLOTCHANGE; + + if (SC_Detect() ) + { + /* + SLOT_ICC_PRESENT 0x01 : LSb : (0b = no ICC present, 1b = ICC present) + SLOT_ICC_CHANGE 0x02 : MSb : (0b = no change, 1b = change). + */ + G_io_ccid.UsbIntMessageBuffer[OFFSET_INT_BMSLOTICCSTATE] = SLOT_ICC_PRESENT | + SLOT_ICC_CHANGE; + } + else + { + G_io_ccid.UsbIntMessageBuffer[OFFSET_INT_BMSLOTICCSTATE] = SLOT_ICC_CHANGE; + + /* Power OFF the card */ + SC_Poweroff(); + } +} +#endif // HAVE_CCID_INTERRUPT + + +/** + * @brief CCID_UpdSlotStatus + * Updates the variable for the slot status + * @param uint8_t slotStatus : slot status from the calling function + * @retval None + */ +void CCID_UpdSlotStatus (uint8_t slotStatus) +{ + G_io_ccid.Ccid_SlotStatus.SlotStatus = slotStatus; +} + +/** + * @brief CCID_UpdSlotChange + * Updates the variable for the slot change status + * @param uint8_t changeStatus : slot change status from the calling function + * @retval None + */ +void CCID_UpdSlotChange (uint8_t changeStatus) +{ + G_io_ccid.Ccid_SlotStatus.SlotStatusChange = changeStatus; +} + +/** + * @brief CCID_IsSlotStatusChange + * Provides the value of the variable for the slot change status + * @param None + * @retval uint8_t slot change status + */ +uint8_t CCID_IsSlotStatusChange (void) +{ + return G_io_ccid.Ccid_SlotStatus.SlotStatusChange; +} + +/** + * @brief CCID_CheckCommandParams + * Checks the specific parameters requested by the function and update + * status accordingly. This function is called from all + * PC_to_RDR functions + * @param uint32_t param_type : Parameter enum to be checked by calling function + * @retval uint8_t status + */ +static uint8_t CCID_CheckCommandParams (uint32_t param_type) +{ + uint32_t parameter; + + G_io_ccid.bulk_header.bulkin.bStatus = BM_ICC_PRESENT_ACTIVE | BM_COMMAND_STATUS_NO_ERROR ; + + parameter = (uint32_t)param_type; + + if (parameter & CHK_PARAM_SLOT) + { + /* + The slot number (bSlot) identifies which ICC slot is being addressed + by the message, if the CCID supports multiple slots. + The slot number is zero-relative, and is in the range of zero to FFh. + */ + + /* SLOT Number is 0 onwards, so always < CCID_NUMBER_OF_SLOTs */ + /* Error Condition !!! */ + if (G_io_ccid.bulk_header.bulkout.bSlot >= CCID_NUMBER_OF_SLOTS) + { /* Slot requested is more than supported by Firmware */ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_NO_ICC_PRESENT); + return SLOTERROR_BAD_SLOT; + } + } + + if (parameter & CHK_PARAM_CARD_PRESENT) + { + /* Commands Parameters ok, Check the Card Status */ + if (SC_Detect() == 0) + { /* Card is Not detected */ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_NO_ICC_PRESENT); + return SLOTERROR_ICC_MUTE; + } + } + + /* Check that DwLength is 0 */ + if (parameter & CHK_PARAM_DWLENGTH) + { + if (G_io_ccid.bulk_header.bulkout.dwLength != 0) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_LENTGH; + } + } + + /* abRFU 2 : Reserved for Future Use*/ + if (parameter & CHK_PARAM_abRFU2) + { + + if ((G_io_ccid.bulk_header.bulkout.bSpecific_1 != 0) || + (G_io_ccid.bulk_header.bulkout.bSpecific_2 != 0)) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_ABRFU_2B; /* bSpecific_1 */ + } + } + + if (parameter & CHK_PARAM_abRFU3) + { + /* abRFU 3 : Reserved for Future Use*/ + if ((G_io_ccid.bulk_header.bulkout.bSpecific_0 != 0) || + (G_io_ccid.bulk_header.bulkout.bSpecific_1 != 0) || + (G_io_ccid.bulk_header.bulkout.bSpecific_2 != 0)) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_ACTIVE); + return SLOTERROR_BAD_ABRFU_3B; + } + } + + + if (parameter & CHK_PARAM_ABORT) + { + if( G_io_ccid.usb_ccid_param.bAbortRequestFlag ) + { + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_INACTIVE); + return SLOTERROR_CMD_ABORTED; + } + } + + if (parameter & CHK_ACTIVE_STATE) + { + /* Commands Parameters ok, Check the Card Status */ + /* Card is detected */ + if (! SC_Detect()) + { + /* Check that from Lower Layers, the SmartCard come to known state */ + CCID_UpdateCommandStatus(BM_COMMAND_STATUS_FAILED,BM_ICC_PRESENT_INACTIVE); + return SLOTERROR_HW_ERROR; + } + } + + return 0; +} + +#endif // HAVE_USB_CLASS_CCID + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/src/sdk/usbd_ccid_if.c b/src/sdk/usbd_ccid_if.c new file mode 100755 index 0000000..a709032 --- /dev/null +++ b/src/sdk/usbd_ccid_if.c @@ -0,0 +1,617 @@ +/** + ****************************************************************************** + * @file usbd_ccid_if.c + * @author MCD Application Team + * @version V1.0.1 + * @date 31-January-2014 + * @brief This file provides all the functions for USB Interface for CCID + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2014 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 + * + * 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. + * + ****************************************************************************** + */ + +#pragma message "Override SDK source file :" __FILE__ + +/* Includes ------------------------------------------------------------------*/ +#include "os.h" +#include "usbd_ccid_if.h" + +#ifdef HAVE_USB_CLASS_CCID + +#if CCID_BULK_EPIN_SIZE > USB_SEGMENT_SIZE + #error configuration error, the USB MAX SEGMENT SIZE does not support the CCID endpoint (CCID_BULK_EPIN_SIZE vs USB_SEGMENT_SIZE) +#endif + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +usb_class_ccid_t G_io_ccid; + +/* Private function prototypes -----------------------------------------------*/ +static void CCID_Response_SendData (USBD_HandleTypeDef *pdev, + uint8_t* pbuf, + uint16_t len); +/* Private function ----------------------------------------------------------*/ +/** + * @brief CCID_Init + * Initialize the CCID USB Layer + * @param pdev: device instance + * @retval None + */ +void CCID_Init (USBD_HandleTypeDef *pdev) +{ + memset(&G_io_ccid, 0, sizeof(G_io_ccid)); + + /* CCID Related Initialization */ +#ifdef HAVE_CCID_INTERRUPT + CCID_SetIntrTransferStatus(1); /* Transfer Complete Status */ +#endif // HAVE_CCID_INTERRUPT + CCID_UpdSlotChange(1); + SC_InitParams(); + + /* Prepare Out endpoint to receive 1st packet */ + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; + USBD_LL_PrepareReceive(pdev, CCID_BULK_OUT_EP, CCID_BULK_EPOUT_SIZE); + + // send the smartcard as inserted state at boot time + io_usb_ccid_set_card_inserted(1); +} + +/** + * @brief CCID_DeInit + * Uninitialize the CCID Machine + * @param pdev: device instance + * @retval None + */ +void CCID_DeInit (USBD_HandleTypeDef *pdev) +{ + UNUSED(pdev); + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; +} + +/** + * @brief CCID_Message_In + * Handle Bulk IN & Intr IN data stage + * @param pdev: device instance + * @param uint8_t epnum: endpoint index + * @retval None + */ +void CCID_BulkMessage_In (USBD_HandleTypeDef *pdev, + uint8_t epnum) +{ + if (epnum == (CCID_BULK_IN_EP & 0x7F)) + {/* Filter the epnum by masking with 0x7f (mask of IN Direction) */ + + /*************** Handle Bulk Transfer IN data completion *****************/ + + switch (G_io_ccid.Ccid_BulkState) + { + case CCID_STATE_SEND_RESP: { + unsigned int remLen = G_io_ccid.UsbMessageLength; + + // advance with acknowledged sent chunk + if (G_io_ccid.pUsbMessageBuffer == &G_io_ccid.bulk_header) { + // first part of the bulk in sent. + // advance in the data buffer to transmit. (mixed source leap) + G_io_ccid.pUsbMessageBuffer = G_io_ccid_data_buffer+MIN(CCID_BULK_EPIN_SIZE, G_io_ccid.UsbMessageLength)-CCID_HEADER_SIZE; + } + else { + G_io_ccid.pUsbMessageBuffer += MIN(CCID_BULK_EPIN_SIZE, G_io_ccid.UsbMessageLength); + } + G_io_ccid.UsbMessageLength -= MIN(CCID_BULK_EPIN_SIZE, G_io_ccid.UsbMessageLength); + + // if remaining length is > EPIN_SIZE: send a filled bulk packet + if (G_io_ccid.UsbMessageLength >= CCID_BULK_EPIN_SIZE) { + CCID_Response_SendData(pdev, G_io_ccid.pUsbMessageBuffer, + // use the header declared size packet must be well formed + CCID_BULK_EPIN_SIZE); + } + + // if remaining length is 0; send an empty packet and prepare to receive a new command + else if (G_io_ccid.UsbMessageLength == 0 && remLen == CCID_BULK_EPIN_SIZE) { + CCID_Response_SendData(pdev, G_io_ccid.pUsbMessageBuffer, + // use the header declared size packet must be well formed + 0); + goto last_xfer; // won't wait ack to avoid missing a command + } + // else if no more data, then last packet sent, go back to idle (done on transfer ack) + else if (G_io_ccid.UsbMessageLength == 0) { // robustness only + last_xfer: + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; + + /* Prepare EP to Receive First Cmd */ + // not timeout compliant // USBD_LL_PrepareReceive(pdev, CCID_BULK_OUT_EP, CCID_BULK_EPOUT_SIZE); + } + + // if remaining length is < EPIN_SIZE: send packet and prepare to receive a new command + else if (G_io_ccid.UsbMessageLength < CCID_BULK_EPIN_SIZE) { + CCID_Response_SendData(pdev, G_io_ccid.pUsbMessageBuffer, + // use the header declared size packet must be well formed + G_io_ccid.UsbMessageLength); + goto last_xfer; // won't wait ack to avoid missing a command + } + + break; + } + + default: + break; + } + } +#ifdef HAVE_CCID_INTERRUPT + else if (epnum == (CCID_INTR_IN_EP & 0x7F)) + { + /* Filter the epnum by masking with 0x7f (mask of IN Direction) */ + CCID_SetIntrTransferStatus(1); /* Transfer Complete Status */ + } +#endif // HAVE_CCID_INTERRUPT +} + +void CCID_Send_Reply(USBD_HandleTypeDef *pdev) { + /********** Decide for all commands ***************/ + if (G_io_ccid.Ccid_BulkState == CCID_STATE_SEND_RESP) + { + G_io_ccid.UsbMessageLength = G_io_ccid.bulk_header.bulkin.dwLength+CCID_HEADER_SIZE; /* Store for future use */ + + /* Expected Data Length Packet Received */ + G_io_ccid.pUsbMessageBuffer = (uint8_t*) &G_io_ccid.bulk_header; + + // send bulk header and first pat of the message at once + os_memmove(G_io_usb_ep_buffer, &G_io_ccid.bulk_header, CCID_HEADER_SIZE); + if (G_io_ccid.UsbMessageLength>CCID_HEADER_SIZE) { + // copy start of data if bigger size than a header + os_memmove(G_io_usb_ep_buffer+CCID_HEADER_SIZE, G_io_ccid_data_buffer, MIN(CCID_BULK_EPIN_SIZE, G_io_ccid.UsbMessageLength)-CCID_HEADER_SIZE); + } + // send the first mixed source chunk + CCID_Response_SendData(pdev, G_io_usb_ep_buffer, + // use the header declared size packet must be well formed + MIN(CCID_BULK_EPIN_SIZE, G_io_ccid.UsbMessageLength)); + } +} + +/** + * @brief CCID_BulkMessage_Out + * Proccess CCID OUT data + * @param pdev: device instance + * @param uint8_t epnum: endpoint index + * @retval None + */ +void CCID_BulkMessage_Out (USBD_HandleTypeDef *pdev, + uint8_t epnum, uint8_t* buffer, uint16_t dataLen) +{ + if (epnum == (CCID_BULK_OUT_EP & 0x7F)) { + switch (G_io_ccid.Ccid_BulkState) + { + + // after a timeout, could be in almost any state :) therefore, clean it and process the newly received command + default: + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; + // no break is intentional + + case CCID_STATE_IDLE: + // prepare to receive another packet later on (to avoid troubles with timeout due to other hid command timeouting the ccid endpoint reply) + USBD_LL_PrepareReceive(pdev, CCID_BULK_OUT_EP, CCID_BULK_EPOUT_SIZE); + + if (dataLen == 0x00) + { /* Zero Length Packet Received, end of transfer */ + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; + } + else if (dataLen >= CCID_HEADER_SIZE) + { + G_io_ccid.UsbMessageLength = dataLen; /* Store for future use */ + + /* Expected Data Length Packet Received */ + // endianness is little :) useful for our ARM convention + G_io_ccid.pUsbMessageBuffer = (uint8_t*) &G_io_ccid.bulk_header; + + // copy the ccid bulk header only + os_memmove(G_io_ccid.pUsbMessageBuffer, buffer, CCID_HEADER_SIZE); + // copy remaining part in the data buffer (split from the ccid to allow for overlaying with another ressource buffer) + if (dataLen>CCID_HEADER_SIZE) { + os_memmove(G_io_ccid_data_buffer, buffer+CCID_HEADER_SIZE, dataLen-CCID_HEADER_SIZE); + // we're now receiving in the data buffer (all subsequent calls) + G_io_ccid.pUsbMessageBuffer = G_io_ccid_data_buffer; + } + + if (G_io_ccid.bulk_header.bulkout.dwLength > IO_CCID_DATA_BUFFER_SIZE) + { /* Check if length of data to be sent by host is > buffer size */ + + /* Too long data received.... Error ! */ + G_io_ccid.Ccid_BulkState = CCID_STATE_UNCORRECT_LENGTH; + } + else + // everything received in the first packet + if (G_io_ccid.UsbMessageLength == (G_io_ccid.bulk_header.bulkout.dwLength + CCID_HEADER_SIZE)) { + /* Short message, less than the EP Out Size, execute the command, + if parameter like dwLength is too big, the appropriate command will + give an error */ + CCID_CmdDecode(pdev); + } + else + { /* Long message, receive additional data with command */ + G_io_ccid.Ccid_BulkState = CCID_STATE_RECEIVE_DATA; + G_io_ccid.pUsbMessageBuffer += dataLen-CCID_HEADER_SIZE; /* Point to new offset */ + } + } + break; + + case CCID_STATE_RECEIVE_DATA: + + USBD_LL_PrepareReceive(pdev, CCID_BULK_OUT_EP, CCID_BULK_EPOUT_SIZE); + + G_io_ccid.UsbMessageLength += dataLen; + + if (dataLen < CCID_BULK_EPOUT_SIZE) + {/* Short message, less than the EP Out Size, execute the command, + if parameter like dwLength is too big, the appropriate command will + give an error */ + + /* Full command is received, process the Command */ + os_memmove(G_io_ccid.pUsbMessageBuffer, buffer, dataLen); + CCID_CmdDecode(pdev); + } + else //if (dataLen == CCID_BULK_EPOUT_SIZE) + { + if (G_io_ccid.UsbMessageLength < (G_io_ccid.bulk_header.bulkout.dwLength + CCID_HEADER_SIZE)) + { + os_memmove(G_io_ccid.pUsbMessageBuffer, buffer, dataLen); + G_io_ccid.pUsbMessageBuffer += dataLen; + /* Increment the pointer to receive more data */ + + /* Prepare EP to Receive next Cmd */ + // not timeout compliant // USBD_LL_PrepareReceive(pdev, CCID_BULK_OUT_EP, CCID_BULK_EPOUT_SIZE); + } + else if (G_io_ccid.UsbMessageLength == (G_io_ccid.bulk_header.bulkout.dwLength + CCID_HEADER_SIZE)) + { + /* Full command is received, process the Command */ + os_memmove(G_io_ccid.pUsbMessageBuffer, buffer, dataLen); + CCID_CmdDecode(pdev); + } + else + { + /* Too long data received.... Error ! */ + G_io_ccid.Ccid_BulkState = CCID_STATE_UNCORRECT_LENGTH; + } + } + + break; + + /* + case CCID_STATE_UNCORRECT_LENGTH: + G_io_ccid.Ccid_BulkState = CCID_STATE_IDLE; + break; + + default: + + break; + */ + } + } +} + +/** + * @brief CCID_CmdDecode + * Parse the commands and Proccess command + * @param pdev: device instance + * @retval None + */ +void CCID_CmdDecode(USBD_HandleTypeDef *pdev) +{ + uint8_t errorCode; + + switch (G_io_ccid.bulk_header.bulkout.bMessageType) + { + case PC_TO_RDR_ICCPOWERON: + errorCode = PC_to_RDR_IccPowerOn(); + RDR_to_PC_DataBlock(errorCode); + break; + case PC_TO_RDR_ICCPOWEROFF: + errorCode = PC_to_RDR_IccPowerOff(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_GETSLOTSTATUS: + errorCode = PC_to_RDR_GetSlotStatus(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_XFRBLOCK: + errorCode = PC_to_RDR_XfrBlock(); + // asynchronous // RDR_to_PC_DataBlock(errorCode); + break; + case PC_TO_RDR_GETPARAMETERS: + errorCode = PC_to_RDR_GetParameters(); + RDR_to_PC_Parameters(errorCode); + break; + case PC_TO_RDR_RESETPARAMETERS: + errorCode = PC_to_RDR_ResetParameters(); + RDR_to_PC_Parameters(errorCode); + break; + case PC_TO_RDR_SETPARAMETERS: + errorCode = PC_to_RDR_SetParameters(); + RDR_to_PC_Parameters(errorCode); + break; + case PC_TO_RDR_ESCAPE: + errorCode = PC_to_RDR_Escape(); + RDR_to_PC_Escape(errorCode); + break; + case PC_TO_RDR_ICCCLOCK: + errorCode = PC_to_RDR_IccClock(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_ABORT: + errorCode = PC_to_RDR_Abort(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_T0APDU: + errorCode = PC_TO_RDR_T0Apdu(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_MECHANICAL: + errorCode = PC_TO_RDR_Mechanical(); + RDR_to_PC_SlotStatus(errorCode); + break; + case PC_TO_RDR_SETDATARATEANDCLOCKFREQUENCY: + errorCode = PC_TO_RDR_SetDataRateAndClockFrequency(); + RDR_to_PC_DataRateAndClockFrequency(errorCode); + break; + case PC_TO_RDR_SECURE: + errorCode = PC_TO_RDR_Secure(); + // asynchronous // RDR_to_PC_DataBlock(errorCode); + break; + default: + RDR_to_PC_SlotStatus(SLOTERROR_CMD_NOT_SUPPORTED); + break; + } + + CCID_Send_Reply(pdev); +} + +/** + * @brief Transfer_Data_Request + * Prepare the request response to be sent to the host + * @param uint8_t* dataPointer: Pointer to the data buffer to send + * @param uint16_t dataLen : number of bytes to send + * @retval None + */ +void Transfer_Data_Request(void) +{ + /********** Update Global Variables ***************/ + G_io_ccid.Ccid_BulkState = CCID_STATE_SEND_RESP; +} + + +/** + * @brief CCID_Response_SendData + * Send the data on bulk-in EP + * @param pdev: device instance + * @param uint8_t* buf: pointer to data buffer + * @param uint16_t len: Data Length + * @retval None + */ +static void CCID_Response_SendData(USBD_HandleTypeDef *pdev, + uint8_t* buf, + uint16_t len) +{ + UNUSED(pdev); + // don't ask the MCU to perform bulk split, we could quickly get into a buffer overflow + if (len > CCID_BULK_EPIN_SIZE) { + THROW(EXCEPTION_IO_OVERFLOW); + } + + G_io_seproxyhal_spi_buffer[0] = SEPROXYHAL_TAG_USB_EP_PREPARE; + G_io_seproxyhal_spi_buffer[1] = (3+len)>>8; + G_io_seproxyhal_spi_buffer[2] = (3+len); + G_io_seproxyhal_spi_buffer[3] = CCID_BULK_IN_EP; + G_io_seproxyhal_spi_buffer[4] = SEPROXYHAL_TAG_USB_EP_PREPARE_DIR_IN; + G_io_seproxyhal_spi_buffer[5] = len; + io_seproxyhal_spi_send(G_io_seproxyhal_spi_buffer, 6); + io_seproxyhal_spi_send(buf, len); +} + +#ifdef HAVE_CCID_INTERRUPT +/** + * @brief CCID_IntMessage + * Send the Interrupt-IN data to the host + * @param pdev: device instance + * @retval None + */ +void CCID_IntMessage(USBD_HandleTypeDef *pdev) +{ + UNUSED(pdev); + /* Check if there us change in Smartcard Slot status */ + if ( CCID_IsSlotStatusChange() && CCID_IsIntrTransferComplete() ) + { +#ifdef HAVE_CCID_INTERRUPT + /* Check Slot Status is changed. Card is Removed/ Fitted */ + RDR_to_PC_NotifySlotChange(); +#endif // HAVE_CCID_INTERRUPT + + CCID_SetIntrTransferStatus(0); /* Reset the Status */ + CCID_UpdSlotChange(0); /* Reset the Status of Slot Change */ + + G_io_seproxyhal_spi_buffer[0] = SEPROXYHAL_TAG_USB_EP_PREPARE; + G_io_seproxyhal_spi_buffer[1] = (3+2)>>8; + G_io_seproxyhal_spi_buffer[2] = (3+2); + G_io_seproxyhal_spi_buffer[3] = CCID_INTR_IN_EP; + G_io_seproxyhal_spi_buffer[4] = SEPROXYHAL_TAG_USB_EP_PREPARE_DIR_IN; + G_io_seproxyhal_spi_buffer[5] = 2; + io_seproxyhal_spi_send(G_io_seproxyhal_spi_buffer, 6); + io_seproxyhal_spi_send(G_io_ccid.UsbIntMessageBuffer, 2); + } +} + +/** + * @brief CCID_IsIntrTransferComplete + * Provides the status of previous Interrupt transfer status + * @param None + * @retval uint8_t PrevXferComplete_IntrIn: Value of the previous transfer status + */ +uint8_t CCID_IsIntrTransferComplete (void) +{ + return G_io_ccid.PrevXferComplete_IntrIn; +} + +/** + * @brief CCID_IsIntrTransferComplete + * Set the value of the Interrupt transfer status + * @param uint8_t xfer_Status: Value of the Interrupt transfer status to set + * @retval None + */ +void CCID_SetIntrTransferStatus (uint8_t xfer_Status) +{ + G_io_ccid.PrevXferComplete_IntrIn = xfer_Status; +} +#endif // HAVE_CCID_INTERRUPT + + + + + + +uint8_t SC_Detect(void) { + return G_io_ccid.ccid_card_inserted; +} + +void SC_InitParams (void) { + // nothing to do +} + +uint8_t SC_SetParams (Protocol0_DataStructure_t* pt0) { + UNUSED(pt0); + return SLOT_NO_ERROR; +} + + +uint8_t SC_SetClock (uint8_t bClockCommand) { + UNUSED(bClockCommand); + return SLOT_NO_ERROR; +} + +uint8_t SC_Request_GetClockFrequencies(uint8_t* pbuf, uint16_t* len); +uint8_t SC_Request_GetDataRates(uint8_t* pbuf, uint16_t* len); +uint8_t SC_T0Apdu(uint8_t bmChanges, uint8_t bClassGetResponse, + uint8_t bClassEnvelope) { + UNUSED(bmChanges); + UNUSED(bClassGetResponse); + UNUSED(bClassEnvelope); + return SLOTERROR_CMD_NOT_SUPPORTED; +} +uint8_t SC_Mechanical(uint8_t bFunction) { + UNUSED(bFunction); + return SLOTERROR_CMD_NOT_SUPPORTED; +} +uint8_t SC_SetDataRateAndClockFrequency(uint32_t dwClockFrequency, + uint32_t dwDataRate) { + UNUSED(dwClockFrequency); + UNUSED(dwDataRate); + return SLOT_NO_ERROR; +} +uint8_t SC_Secure(uint32_t dwLength, uint8_t bBWI, uint16_t wLevelParameter, + uint8_t* pbuf, uint32_t* returnLen ) { + UNUSED(bBWI); + UNUSED(wLevelParameter); + UNUSED(returnLen); + // return SLOTERROR_CMD_NOT_SUPPORTED; + uint16_t ret_len,off; + switch(pbuf[0]) + { + case 0: // verify pin + off = 15; + //ret_len = dwLength - 15; + ret_len = 5; + break; + case 1: // modify pin + switch(pbuf[11]) + { + case 3: + off = 20; + break; + case 2: + case 1: + off = 19; + break; + // 0 and 4-0xFF + default: + off = 18; + break; + } + //ret_len = dwLength - off; + ret_len = 5; + break; + default: // unsupported + G_io_ccid.bulk_header.bulkin.dwLength = 0; + RDR_to_PC_DataBlock(SLOTERROR_CMD_NOT_SUPPORTED); + CCID_Send_Reply(&USBD_Device); + return SLOTERROR_CMD_NOT_SUPPORTED; + } + pbuf += off; + pbuf[0] = 0xEF; + return SC_XferBlock(pbuf, ret_len, &ret_len); +} + +// prepare the apdu to be processed by the application +uint8_t SC_XferBlock (uint8_t* ptrBlock, uint32_t blockLen, uint16_t* expectedLen) { + UNUSED(expectedLen); + + // check for overflow + if (blockLen > IO_APDU_BUFFER_SIZE) { + return SLOTERROR_BAD_LENTGH; + } + + // copy received apdu // if G_io_ccid_data_buffer is the buffer apdu, then the memmove will do nothing + os_memmove(G_io_apdu_buffer, ptrBlock, blockLen); + G_io_apdu_length = blockLen; + G_io_apdu_media = IO_APDU_MEDIA_USB_CCID; // for application code + G_io_apdu_state = APDU_USB_CCID; // for next call to io_exchange + + return SLOT_NO_ERROR; +} + +void io_usb_ccid_reply(unsigned char* buffer, unsigned short length) { + // avoid memory overflow + if (length > IO_CCID_DATA_BUFFER_SIZE) { + THROW(EXCEPTION_IO_OVERFLOW); + } + // copy the responde apdu + os_memmove(G_io_ccid_data_buffer, buffer, length); + G_io_ccid.bulk_header.bulkin.dwLength = length; + // forge reply + RDR_to_PC_DataBlock(SLOT_NO_ERROR); + + // start sending rpely + CCID_Send_Reply(&USBD_Device); +} + +// ask for power on +void io_usb_ccid_set_card_inserted(unsigned int inserted) { + G_io_ccid.ccid_card_inserted = inserted; + CCID_UpdSlotChange(1); +#ifdef HAVE_CCID_INTERRUPT + CCID_IntMessage(&USBD_Device); +#endif // HAVE_CCID_INTERRUPT +} + + + + + + + +#endif // HAVE_USB_CLASS_CCID + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/lib_stusb_impl/usbd_ccid_impl.h b/src/sdk/usbd_ccid_impl.h similarity index 100% rename from src/lib_stusb_impl/usbd_ccid_impl.h rename to src/sdk/usbd_ccid_impl.h diff --git a/src/lib_stusb_impl/usbd_hid_impl.h b/src/sdk/usbd_hid_impl.h similarity index 100% rename from src/lib_stusb_impl/usbd_hid_impl.h rename to src/sdk/usbd_hid_impl.h diff --git a/src/lib_stusb_impl/usbd_impl.c b/src/sdk/usbd_impl.c similarity index 96% rename from src/lib_stusb_impl/usbd_impl.c rename to src/sdk/usbd_impl.c index 212e3b8..9c82900 100644 --- a/src/lib_stusb_impl/usbd_impl.c +++ b/src/sdk/usbd_impl.c @@ -44,8 +44,11 @@ * ****************************************************************************** */ +#pragma message "Override SDK source file :" __FILE__ + #include "os.h" + /* Includes ------------------------------------------------------------------*/ #include "usbd_hid.h" diff --git a/src/lib_stusb_impl/usbd_impl.h b/src/sdk/usbd_impl.h similarity index 100% rename from src/lib_stusb_impl/usbd_impl.h rename to src/sdk/usbd_impl.h