Class ExtKeyUsage
- All Implemented Interfaces:
Serializable
Each value repesents bytes 5-6 of the Keyblok Header.
This class defines proprietary specific key usages. In the great majority of
cases, the ones defined by TR-31 KeyUsage will be sufficient. There
are no strong reasons for separating e.g. KEK keys to ZMK and TMK, or PINENC
keys to ZPK and TPK. KEK and PINENC should be enough.
However, when it is necessary to use, for example: private/public RSA keys or HMAC keys, the only option is to use the proprietary key usages.
The proprietary key usages for ExtKeyUsage are optional and can be
defined in your resources at "META-INF/org/jpos/security/proprietary-hsm.properties". A file
with the same name in the jPOS test resources can be used as an example.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final KeyUsageDEK - Data Encryption Key.static final KeyUsageHMAC key using SHA-1.static final KeyUsageHMAC key using SHA-224.static final KeyUsageHMAC key using SHA-256.static final KeyUsageHMAC key using SHA-384.static final KeyUsageHMAC key using SHA-512.static final KeyUsageRSA Public Key.static final KeyUsageRSA Private Key for signing or key management.static final KeyUsageRSA Private Key for ICC personalization.static final KeyUsageRSA Private Key for PIN translation.static final KeyUsageRSA Private Key for TLS.static final KeyUsageTEK - Terminal Encryption Key.static final KeyUsageTMK - Terminal Master Key.static final KeyUsageTPK - Terminal PIN Encryption Key.static final KeyUsageZEK - Zone Encryption Key.static final KeyUsageZMK - Zone Master Key.static final KeyUsageZPK - Zone PIN Encryption Key.Fields inherited from class KeyUsage
BDK, CVK, EMVACMK, EMVCPMK, EMVDAMK, EMVDNMK, EMVMPMK, EMVOTMK, EMVSCMK, EMVSIMK, ENC, IKEY, INIT, ISOMAC0, ISOMAC1, ISOMAC2, ISOMAC3, ISOMAC4, ISOMAC5, KEK, KEKWRAP, PINENC, PINV3624, PINVER, TR31MAP, VISAPVVModifier and TypeFieldDescriptionstatic final KeyUsageTR-31 BDK Base Derivation Key.static final KeyUsageTR-31 CVK Card Verification Key.static final KeyUsageTR-31 Application Cryptograms Key.static final KeyUsageTR-31 Card Personalization Key.static final KeyUsageTR-31 Data Authentication Code Key.static final KeyUsageTR-31 Dynamic Numbers Key.static final KeyUsageTR-31 Master Personalization Key.static final KeyUsageTR-31 Chip card Master Key.static final KeyUsageTR-31 Secure Messaging for Confidentiality Key.static final KeyUsageTR-31 Secure Messaging for Integrity.static final KeyUsageTR-31 Data Encryption Key.static final KeyUsageTR-31 DUKPT Initial Key (IKEY aka IPEK).static final KeyUsageTR-31 Initialization Value.static final KeyUsageTR-31 ISO 16609 MAC algorithm 1 Key (using 3-DES).static final KeyUsageTR-31 ISO 9797-1 MAC algorithm 1 Key.static final KeyUsageTR-31 ISO 9797-1 MAC algorithm 2 Key.static final KeyUsageTR-31 ISO 9797-1 MAC algorithm 3 Key.static final KeyUsageTR-31 ISO 9797-1 MAC algorithm 4 Key.static final KeyUsageTR-31 ISO 9797-1 MAC algorithm 5 Key.static final KeyUsageTR-31 Generic Key Encryption / Wrapping Key.static final KeyUsageTR-31 Key Block Protection Key.static final KeyUsageTR-31 Generic PIN Encription Key.static final KeyUsageTR-31 PIN Verification Key (IBM 3624 algorithm).static final KeyUsageTR-31 Generic PIN Verification Key.TR-31 key usage code registry mapping code strings to KeyUsage enum constants.static final KeyUsageTR-31 PIN Verification Key (Visa PVV algorithm). -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedExtKeyUsage(String code, String name) Internal constructor. -
Method Summary
-
Field Details
-
DEK
DEK - Data Encryption Key.- API Note:
- It is proprietary specific version of
KeyUsage.ENC
-
ZEK
ZEK - Zone Encryption Key.- API Note:
- It is proprietary specific version of
KeyUsage.ENC
-
TEK
TEK - Terminal Encryption Key.- API Note:
- It is proprietary specific version of
KeyUsage.ENC
-
RSAPK
-
RSASK
-
RSASKICC
-
RSASKPIN
-
RSASKTLS
-
TMK
TMK - Terminal Master Key.- API Note:
- It is proprietary specific version of
KeyUsage.KEK
-
ZMK
ZMK - Zone Master Key.- API Note:
- It is proprietary specific version of
KeyUsage.KEK
-
HMACSHA1
-
HMACSHA224
HMAC key using SHA-224.- API Note:
- It is proprietary specific, there is no equivalent in TR-31.
-
HMACSHA256
HMAC key using SHA-256.- API Note:
- It is proprietary specific, there is no equivalent in TR-31.
-
HMACSHA384
HMAC key using SHA-384.- API Note:
- It is proprietary specific, there is no equivalent in TR-31.
-
HMACSHA512
HMAC key using SHA-512.- API Note:
- It is proprietary specific, there is no equivalent in TR-31.
-
TPK
TPK - Terminal PIN Encryption Key.- API Note:
- It is proprietary specific version of
KeyUsage.PINENC
-
ZPK
ZPK - Zone PIN Encryption Key.- API Note:
- It is proprietary specific version of
KeyUsage.PINENC
-
-
Constructor Details
-
ExtKeyUsage
Internal constructor.The constructor is protected to guarantee only one instance of the key usage in the entire JVM. This makes it possible to use the operator
==or!=as it does for enums.- Parameters:
code- the key usage codename- the usage name
-
-
Method Details
-
valueOfByCode
Returns the enum constant of this type with the specifiedcode.- Parameters:
code- the TR-31 key usage code to look up- Returns:
- the enum constant with the specified processing code or
nullif unknown.
-
entries
-