[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [keyple-dev] Issue towards using UseCase4 & 10 with SAM-S1 E1
|
Dear Jean-Pierre,
Yes, we are the reader manufacturer. I will check the low-level
traces on Monday.
Thanks for your support so far.
Best regards,
Thillai Elayaraja S
|
Thillai
Elayaraja S |
CTO |
+91 72593 34534 |
thillaielayaraja.s@xxxxxxxxxxx |
|
ELYCTIS
India Pte Ltd |
Level 7, Mfar Greenheart |
Manyata Tech Park |
Bengaluru
560045 |
INDIA |
On 04-07-2025 09:21 pm, Jean-Pierre
Fortune wrote:
Hi Thillai,
The DIGEST_INIT [6A83] issue being resolved, it is clear that
the initial missing configuration for the default KIFs in Use
Case 4, already present in Use Case 10, was indeed the root
cause of that particular problem.
We now seem to be back to the issue of the card's verification
of the signature generated by the SAM failing, indicated by the
`6988` status word.
If we are certain that no APDU commands other than those visible
in the logs were sent to either the card or the SAM, then this
situation might suggest a potential inconsistency between the
SAM and the card. However, I assume that you are using a
consistent set of SAM and card samples.
Given that you are the manufacturer of the reader, do you have
any means to trace the low-level exchanges directly from the
reader(s) themselves? It would be highly beneficial to compare
these low-level traces with the APDU commands we are seeing in
the logs. This could help us pinpoint any discrepancies or
unexpected behaviors that might be occurring at the physical
communication level.
Best regards,
Jean-Pierre Fortune
Keyple-Dev Team
Dear Jean-Pierre,
I did the change and now the `DIGEST_INIT [6A83]`
issue is resolved.
Now I have the `6988 ` issue. Log attached for Use
Case 4. Once this is solved, I will check with Use
Case 10.
Best regards,
Thillai Elayaraja S
|
Thillai
Elayaraja S |
CTO |
+91 72593 34534 |
thillaielayaraja.s@xxxxxxxxxxx |
|
ELYCTIS
India Pte Ltd |
Level 7, Mfar
Greenheart |
Manyata Tech Park |
Bengaluru 560045 |
INDIA |
On 04-07-2025 08:13 pm, Jean-Pierre Fortune wrote:
Hi Thillai,
The error `6A83` in response to `DIGEST_INIT`
indicates that the SAM, which is being requested
to perform calculations with the key (KIF=FF,
KVC=41), does not possess this specific key.
My advice to use `FF` as a KIF was a
misinterpretation, as this value is actually
reserved to indicate an *unknown* KIF and should
not be used as a valid key reference. Instead, I
suggest retrying Use Case 4 with the following
configuration, which corresponds to the values
commonly used for the three standard KIFs:
.assignDefaultKif(PERSONALIZATION,
(byte) 0x21)
.assignDefaultKif(LOAD, (byte) 0x27)
.assignDefaultKif(DEBIT, (byte) 0x30)
I will also check with other members of the
Calypso team to better understand the content of
the JSON file describing the card’s structure
and keys.
Best regards,
Jean-Pierre Fortune
Keyple-Dev Team
Dear Jean-Pierre,
I did the change and the issue
"Unauthorized key error" is resolved.
Now I have DIGEST_INIT [6A83] issue.
Logs attached. Enabled DEBUG traces for Use
Case 10 too.
Best regards,
Thillai Elayaraja S
|
Thillai
Elayaraja S |
CTO |
+91
72593 34534 |
thillaielayaraja.s@xxxxxxxxxxx |
|
ELYCTIS
India Pte Ltd |
Level 7,
Mfar Greenheart |
Manyata
Tech Park |
Bengaluru 560045 |
INDIA |
On 04-07-2025 06:29 pm, Jean-Pierre
Fortune wrote:
Hi Thillai,
Upon closer examination of the logs
you sent, it appears that the code
execution flow in both cases is not the
same, and the errors encountered are of
a different nature.
My previous message was based on Use
Case 10, which seems to correspond to a
transaction involving two readings of
the SFI=14h file. However, the log for
this case does not display DEBUG level
traces, which would be very helpful for
a more in-depth analysis.
On the other hand, the log for Use
Case 4 does show DEBUG traces, but here
the transaction concludes with an
"Unauthorized key error." This specific
error suggests that the card you are
using requires a particular
configuration to specify the key KIF
value that is not provided by this
particular card.
Based on the JSON file generated by
the card analysis tool, the KIF value to
be used for this AID is 0xFF. In the
context of the Use Case 4 code, this
would translate to an adjustment within
the `initSecuritySetting()` method,
similar to the following:
private static
void initSecuritySetting() {
LegacySam
sam = selectSam(samReader);
symmetricCryptoSecuritySetting =
calypsoCardApiFactory
.createSymmetricCryptoSecuritySetting(
LegacySamExtensionService.getInstance()
.getLegacySamApiFactory()
.createSymmetricCryptoCardTransactionManagerFactory(samReader,
sam))
.assignDefaultKif(PERSONALIZATION,
(byte) 0xFF)
.assignDefaultKif(LOAD, (byte)
0xFF)
.assignDefaultKif(DEBIT, (byte)
0xFF);
}
Could you please try implementing
this change in your Use Case 4 code and
observe if it resolves the "Unauthorized
key error"?
Regarding use case 10, I would need
more logs to help you. But the previous
configuration with 0xFF should also
apply here!
Best regards,
Jean-Pierre Fortune
Keyple-Dev
Team
Dear Jean-Pierre,
I tried that and the status (logs
shared in previous email) remains
the same:
C:\Windows\System32>sc
query ScDeviceEnum
SERVICE_NAME: ScDeviceEnum
TYPE : 30
WIN32
STATE : 1
STOPPED
WIN32_EXIT_CODE : 0
(0x0)
SERVICE_EXIT_CODE : 0
(0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\Windows\System32>sc query
CertPropSvc
SERVICE_NAME: CertPropSvc
TYPE : 20
WIN32_SHARE_PROCESS
STATE : 1
STOPPED
WIN32_EXIT_CODE : 1077
(0x435)
SERVICE_EXIT_CODE : 0
(0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\Windows\System32>sc config
ScDeviceEnum start= disabled
[SC] ChangeServiceConfig SUCCESS
C:\Windows\System32>sc config
CertPropSvc start= disabled
[SC] ChangeServiceConfig SUCCESS
Best regards,
Thillai Elayaraja S
|
Thillai
Elayaraja S |
CTO |
+91
72593 34534 |
thillaielayaraja.s@xxxxxxxxxxx |
|
ELYCTIS
India Pte Ltd |
Level
7, Mfar Greenheart |
Manyata
Tech Park |
Bengaluru 560045 |
INDIA |
On 04-07-2025 05:33 pm,
Jean-Pierre Fortune wrote:
Hi Thillai,
This is a significant step
forward! The fact that the
secure transaction now goes all
the way through is excellent
news, as it confirms good
communication between your
reader, the card, and the SAM.
The final error you're
encountering, related to the
card's verification of the
signature calculated by the
SAM, isn't necessarily
directly related to the
software you're running.
Most frequently, this problem
is linked to interference from
Windows smart card services.
Specifically, these are the
"Smart Card Device Enumeration
Service" (ScDeviceEnum
)
and the "Certificate
Propagation Service" (CertPropSvc
).
These services can
unfortunately insert invisible
exchanges with the card or the
SAM, causing the cryptographic
calculations to fail.
Could you please try
disabling these services and
let us know if this resolves
the issue?
To check their status before
disabling them, you can run
the following commands in an elevated
Command Prompt (Run
as Administrator):
sc query ScDeviceEnum
sc query CertPropSvc
This will tell you whether
the services are currently
running. You can also check
their startup configuration
using:
sc qc ScDeviceEnum
sc qc CertPropSvc
To stop and disable the
services (again, in an
elevated Command Prompt), use:
sc stop ScDeviceEnum
sc config ScDeviceEnum start= disabled
sc stop CertPropSvc
sc config CertPropSvc start= disabled
We remain at your disposal for any further assistance.
Best regards,
Jean-Pierre Fortune
Keyple-Dev Team
Dear Jean-Pierre,
I tried to adapt both of
the examples and attached
the Console log received.
The adaptation I made was
to change the AID
to "304554502E494341" and
the SFI_ENVIRONMENT_AND_HOLDER
to 0x14
(with UseCase10 used SFI_CONTRACTS
as 0x15 but unsure about SFI_EVENTS_LOG
and SFI_CONTRACT_LIST)
With that it seems it has
progressed a bit more in
either of the examples but I
can't make it work to see it
complete gracefully.
It seems to me that the
card is not personalized on
my side.
Could you confirm and guide
me on the right example to
start with ?
By the way, it is my first
few days working with
Calypso:
I see that although a bit of
learning curve is required
(atleast for me), Keyple is
making it far more easier
than I thought. Kudos to all
of you.
Best regards,
Thillai Elayaraja S
|
Thillai
Elayaraja S |
CTO |
+91 72593 34534 |
thillaielayaraja.s@xxxxxxxxxxx |
|
ELYCTIS
India Pte Ltd |
Level 7, Mfar Greenheart |
Manyata Tech Park |
Bengaluru 560045 |
INDIA |
On 04-07-2025 01:27 pm,
Jean-Pierre Fortune wrote:
Hi Thillai,
Thanks for reaching out
to the Keyple-Dev
community and for
providing these detailed
logs.
Based on our analysis
of the logs, the issue
doesn't seem to be at
the physical
communication level. The
exchanges between your
reader and the card
appear to be correct.
The errors you're
encountering are
happening at a higher,
application command
level.
Specifically, in the
log for UseCase10
,
the OPEN_SECURE_SESSION
command fails with a 6A82
status word, which means
"File not found". This
command is trying to
read record 1 of the
file located by SFI
(Short File Identifier)
0x06.
However, the JSON file
generated by the card
analysis tool shows that
a file with SFI=0x06
does not actually exist
on your card sample.
This mismatch is the
direct cause of the
error.
This leads us to the
main question: have
you adapted the APDU
commands in the
examples to match the
specific file
structure of the card
you are using?
It seems likely that
adapting the SFI and
record parameters within
the commands to align
with your card's actual
file system should
resolve the issue. The
good news is that this
suggests your reader is
indeed capable of
handling the low-level
Calypso protocol
correctly.
Let us know if
adjusting the commands
solves the problem.
Best regards,
Jean-Pierre Fortune
Keyple-Dev Team
Dear Keyple-Dev
team,
Good day! I'm
Thillai Elayaraja,
CTO of ELYCTIS.
Currently I'm
evaluating Calypso
support with our
PC/SC readers with a
Calypso card sample
+ SAM acquired from
ISRA.
The Calypso card
sample is labelled
as ST23ZR08
Calypso CD21 Rev
3.1 and
The SAM sample is
labelled as INTEROP
vFF.E0.42 SAM-S1
E1.
With them I tried
the examples
UseCase4 and
UseCase10 from
Keyple but encounter
issues detailed
below. I tried to
adapt those examples
to use the reader
regex, Card AID
(taken from the Card
Configuration Audit
tool) and also
changed the LegacySamUtil.buildPowerOnDataFilter() to use LegacySam.ProductType.SAM_S1E1,
with vain. I got to
know from one of the
CNA contacts to seek
help from the
Keyple-Dev community
and that's where
here I'am with the
details given below:
Regarding the
examples:
- UseCase4_CardAuthentication:
Attached the UseCase4_CardAuthentication.log
for reference.
For info, the code
stopped at processCommands
as below:

- UseCase10_SessionTrace_TN313:
Attached the UseCase10_SessionTrace_TN313.log
for reference.
For info, the log
ends with the
following error:
[11:01:01:138]
[pool-1-thread-1] [ERROR] CardReaderObserver - [Transaction
failed with
exception: A
card command
error occurred
while
processing
responses to
card commands:
OPEN_SECURE_SESSION
Transaction
audit JSON
data:
{"targetSmartCard":{"selectApplicationResponse":{"apdu":"6F228408334D54522E494341A516BF0C13C70800000000750D264E53070A2D20021010019000","statusWord":"9000"},"isExtendedModeSupported":false,"isRatificationOnDeselectSupported":true,"isSvFeatureAvailable":false,"isPinFeatureAvailable":false,"isPkiModeSupported":false,"isDfInvalidated":false,"calypsoCardClass":"ISO","calypsoSerialNumber":"00000000750D264E","startupInfo":"0A2D2002101001","productType":"PRIME_REVISION_3","dfName":"334D54522E494341","modificationsCounterMax":"01AE","isModificationCounterInBytes":true,"files":[],"filesBackup":[],"svLastTNum":"00","svLastTNumBackup":"00","isHce":false,"svKvc":"00","applicationSubType":"02","applicationType":"20","sessionModification":"0A","payloadCapacity":"FA","isCounterValuePostponed":false,"isLegacyCase1":false},"apdus":["008A0B3904AF711A9400","6A82"]}
[11:01:01:138]
[pool-1-thread-1]
[INFO]
ObservableLocalReaderAdapter
- Reader
[ELYCTIS CL
reader
FFFFFFFF0000 0]
starts card
removal sequence
Regarding Card
Configuration Audit
tools:
- Attached the Tool_AnalyzeCardFileStructure-2.0.3.log
and the generated
20250626_CardData_1963796046.json
for reference.
- Attached the Tool_CheckCardFileStructure-2.0.3.log
for reference.
With these logs
and info, could you
help if I need to
adapt the examples
further to verify
the intended
use-cases ? And can
we "tentatively" say
if our reader is
capable to support
Calypso transactions
?
Thanking you.
With best regards,
Thillai Elayaraja S
P S : Soon we will
try to procure the
test kits from CNA
to validate our
readers with all
usecases and with
the demonstrator
app.
_______________________________________________
keyple-dev mailing list
keyple-dev@xxxxxxxxxxx
To unsubscribe from this
list, visit https://www.eclipse.org/mailman/listinfo/keyple-dev