Securo.GlobalPlatform 1.0.0

dotnet add package Securo.GlobalPlatform --version 1.0.0
                    
NuGet\Install-Package Securo.GlobalPlatform -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Securo.GlobalPlatform" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Securo.GlobalPlatform" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Securo.GlobalPlatform" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Securo.GlobalPlatform --version 1.0.0
                    
#r "nuget: Securo.GlobalPlatform, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Securo.GlobalPlatform@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Securo.GlobalPlatform&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Securo.GlobalPlatform&version=1.0.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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