@@ -244,7 +244,6 @@ - (BOOL)tokenSession:(TKTokenSession *)session supportsOperation:(TKTokenOperati
244244 switch (operation) {
245245 case TKTokenOperationSignData:
246246 supports = keyItem.canSign && (
247- [algorithm isAlgorithm: kSecKeyAlgorithmRSASignatureRaw ] ||
248247 [algorithm isAlgorithm: kSecKeyAlgorithmECDSASignatureRFC4754 ] ||
249248 [algorithm isAlgorithm: kSecKeyAlgorithmECDSASignatureDigestX962 ] ||
250249 [algorithm isAlgorithm: kSecKeyAlgorithmECDSASignatureDigestX962SHA1 ] ||
@@ -253,9 +252,6 @@ - (BOOL)tokenSession:(TKTokenSession *)session supportsOperation:(TKTokenOperati
253252 [algorithm isAlgorithm: kSecKeyAlgorithmECDSASignatureDigestX962SHA384 ] ||
254253 [algorithm isAlgorithm: kSecKeyAlgorithmECDSASignatureDigestX962SHA512 ]);
255254 break ;
256- case TKTokenOperationDecryptData:
257- // supports = keyItem.canDecrypt && [algorithm isAlgorithm:kSecKeyAlgorithmRSAEncryptionRaw]; // FIXME: implement decryption
258- break ;
259255 case TKTokenOperationPerformKeyExchange:
260256 // supports = keyItem.canPerformKeyExchange && [algorithm isAlgorithm:kSecKeyAlgorithmECDHKeyExchangeStandard]; // FIXME: implement derive
261257 break ;
@@ -283,18 +279,8 @@ - (NSData *)tokenSession:(TKTokenSession *)session signData:(NSData *)dataToSign
283279 return nil ;
284280 }
285281
286- NSData *sign = dataToSign;
287- if ([algorithm isAlgorithm: kSecKeyAlgorithmRSASignatureRaw ]) {
288- NSLog (@" TokenSession Remove PKCS1 1.5 padding" );
289- // 00 01 FF FF 00 ....
290- const char *string = dataToSign.bytes ;
291- char *e = strchr (&string[3 ], ' \0 ' ); // Start at pos 3
292- NSUInteger pos = (NSUInteger )(e - string) + 1 ;
293- sign = [dataToSign subdataWithRange: NSMakeRange (pos, dataToSign.length - pos)];
294- }
295-
296282 UInt16 sw = 0 ;
297- NSData *response = [self .smartCard sendIns: 0x88 p1: 0x00 p2: 0x00 data: sign le: @0 sw: &sw error: error];
283+ NSData *response = [self .smartCard sendIns: 0x88 p1: 0x00 p2: 0x00 data: dataToSign le: @0 sw: &sw error: error];
298284 // Deauth and release session
299285 [self closeSession ];
300286 switch (sw)
0 commit comments