diff options
author | Jack Magne <jmagne@localhost.localdomain> | 2015-08-24 11:23:04 -0700 |
---|---|---|
committer | Matthew Harmsen <mharmsen@redhat.com> | 2015-08-24 19:41:05 -0600 |
commit | 4ae40d248d4dec0b38ec18575afedb9f92cb48cf (patch) | |
tree | 5ac51e8ceeda04dae347bdf75cfb9c16c4fbe84b | |
parent | afb9d828c68ae4fa22ea8faa5102308902fd7e00 (diff) | |
download | pki-4ae40d248d4dec0b38ec18575afedb9f92cb48cf.tar.gz pki-4ae40d248d4dec0b38ec18575afedb9f92cb48cf.tar.xz pki-4ae40d248d4dec0b38ec18575afedb9f92cb48cf.zip |
SC650 format/enroll fails
Simple fix to correctly identify scp01/gp201 sc650 card.
(cherry picked from commit 3158e1279b210d9f409918b24180bf20b0774614)
-rw-r--r-- | base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java index 14e8eadbf..637cfa394 100644 --- a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java +++ b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java @@ -3402,10 +3402,20 @@ public class TPSProcessor { byte protocol = oidSecureChannelProtocol.at(length - 2); byte implementation = oidSecureChannelProtocol.at(length - 1); + if (protocol == SecureChannel.SECURE_PROTO_03) { + throw new TPSException("TPSProcessor.gp211GetSecureChannelProtocolDetails: No support for SCP03 as of yet, bailing.", + TPSStatus.STATUS_ERROR_SECURE_CHANNEL); + } + platProtInfo.setProtocol(protocol); platProtInfo.setImplementation(implementation); platProtInfo.setKeysetInfoData(keyData); - platProtInfo.setPlatform(SecureChannel.GP211); + + if (protocol == SecureChannel.SECURE_PROTO_02) + platProtInfo.setPlatform(SecureChannel.GP211); + else + platProtInfo.setPlatform(SecureChannel.GP201); + CMS.debug("TPSProcessor.gp211GetSecureChannelProtocolDetails: protocol: " + protocol + " implementation: " + implementation + " keyInfoData: " + keyData.toHexString()); |