Securo.GlobalPlatform
1.0.0
dotnet add package Securo.GlobalPlatform --version 1.0.0
NuGet\Install-Package Securo.GlobalPlatform -Version 1.0.0
<PackageReference Include="Securo.GlobalPlatform" Version="1.0.0" />
<PackageVersion Include="Securo.GlobalPlatform" Version="1.0.0" />
<PackageReference Include="Securo.GlobalPlatform" />
paket add Securo.GlobalPlatform --version 1.0.0
#r "nuget: Securo.GlobalPlatform, 1.0.0"
#:package Securo.GlobalPlatform@1.0.0
#addin nuget:?package=Securo.GlobalPlatform&version=1.0.0
#tool nuget:?package=Securo.GlobalPlatform&version=1.0.0
securo-gp
This project implements Global Platform (https://globalplatform.org) Secure Channel Protcol (SCP) in version SCP02 and SCP03.
Securo.GlobaPlatform
Supported cards
Any card compliant with GP2.1.1 shall be handled.
Secure Channel Protocols
For SCP02 following security levels are supported:
- C-DECRYPTION and C-MAC
- C-MAC
- No secure messaging
For SCP03 following security levels are supported:
- C-DECRYPTION, R-ENCRYPTION, CMAC and R-MAC
- C-DECRYPTION, C-MAC and R-MAC
- C-MAC and R-MAC
- C-DECRYPTION and C-MAC
- C-MAC
- No secure messaging
Securo.GlobaPlatform.Application
Simple CLI script application for handling GP smart card. To run the application following args shall be passed:
securo-gp-app --script script.txt
Input script supports command set described in table below
| Command | Description |
|---|---|
| connect | Performs connection to PCSC reader (card must be inserted) |
| send | Sends APDU with security level requested during sc_open command |
| set_keys | Sets GP keys [enc|mac|dek] |
| select | Selects GP applet |
| open | Opens secure channel with GP card |
| help | Displays help for given command (i.e. help connect) |
Sample script can have the following command set. It opens secure channel with GP Card Manager with transport keys. The requested security level is Mac (0x01).
connect --reader="Broadcom Corp Contacted SmartCard 0"
set_keys --key_enc=404142434445464748494a4b4c4d4e4f --key_mac=404142434445464748494a4b4c4d4e4f --key_dek=404142434445464748494a4b4c4d4e4f
select
open --kid 0 --kver 0 --scp=Mac
send --apdu=80F22002024F0000
The script shall have the following results:
INFO - Command connect => [PcscReader=Broadcom Corp Contacted SmartCard 0]
INFO - Command set_keys => [EncKey=404142434445464748494a4b4c4d4e4f|MacKey=404142434445464748494a4b4c4d4e4f]
INFO - Command select => [Aid=]
INFO - TX-Wrap -> 00A4040000
INFO - RX-Wrap <- 6F108408A000000151000000A5049F6501FF9000
INFO - TX-Wrap -> 00A4040008A000000151000000
INFO - RX-Wrap <- 9000
INFO - TX-Wrap -> 80CA006600
INFO - RX-Wrap <- 663F733D06072A864886FC6B01600C060A2A864886FC6B02020201630906072A864886FC6B03640B06092A864886FC6B040360660C060A2B060104012A026E01029000
INFO - Command open => [SecuirtyLevel=Mac|KeyId=0|KeySetVersion=0]
INFO - TX-Wrap -> 8050000008C68A990B2BFCB8C600
INFO - RX-Wrap <- 00000346020614090044010360CF7B1ACE86B043D6C3F8E7CD08769A709000
INFO - TX-Wrap -> 8482010010ADAEE70AB303E5CACFB26C961BAA1E22
INFO - RX-Wrap <- 9000
INFO - Command send: [ApduCommand=80F22002024F0000]
INFO - TX-Plain -> 80F22002024F0000
INFO - TX-Wrap -> 84F220020A4F00B46CED16DE49800600
INFO - RX-Wrap <- E30D4F07A00000015153509F7001019000
INFO - RX-Plain -> E30D4F07A00000015153509F7001019000
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net5.0
- BerTlv.NET (>= 2.0.3)
- log4net (>= 2.0.14)
- Portable.BouncyCastle (>= 1.9.0)
-
net6.0
- BerTlv.NET (>= 2.0.3)
- log4net (>= 2.0.14)
- Portable.BouncyCastle (>= 1.9.0)
-
net8.0
- BerTlv.NET (>= 2.0.3)
- log4net (>= 2.0.14)
- Portable.BouncyCastle (>= 1.9.0)
-
net9.0
- BerTlv.NET (>= 2.0.3)
- log4net (>= 2.0.14)
- Portable.BouncyCastle (>= 1.9.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 174 | 10/2/2025 |