You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GlobalPlatform安全连接异常:Gemalto SIM卡操作失败求助

解决Gemalto SIM卡执行open_sc时出现6985错误的问题

首先,错误码6985代表「Command not allowed - Conditions of use not satisfied」,也就是当前卡片状态或操作参数不满足执行该命令的条件。结合你的卡片信息和操作场景,我整理了几个可能的原因和对应的解决步骤:

1. 确认卡片当前的生命周期状态

你需要先明确卡片处于哪个生命周期阶段(比如INITIALIZED、OP_SECURED、LOCKED等),不同状态下允许的操作差异很大。尝试用以下方式读取状态:

  • 使用GlobalPlatformPro执行命令:gp --status(部分卡片无需安全通道即可读取基础状态)
  • 如果必须建立安全通道才能读取,先尝试用更低安全级别的认证方式(见下文)打开通道后,再执行get_status -element e0

如果卡片当前处于LOCKED或TERMINATED状态,你需要先解锁或恢复;如果处于INITIALIZED状态,这正是切换到OP_SECURED的前置状态,但需要确保安全通道参数配置正确。

2. 检查安全通道的密钥与参数配置

从你的卡片信息来看,它支持SCP02(i=05/15/55),但你的命令参数可能存在不匹配的情况:

2.1 密钥是否正确

Gemalto的SIM卡很少使用通用默认密钥404142434445464748494a4b4c4d4e4f,多数情况下是运营商定制密钥,部分早期卡使用全0密钥00000000000000000000000000000000。建议尝试替换密钥后重试:

open_sc -scp 1 -scpimpl 0x15 -security 3 -keyind 0 -keyver 0 -key 00000000000000000000000000000000

2.2 密钥版本(keyver)与索引(keyind)是否匹配

有些Gemalto卡的默认密钥版本不是0,而是1或其他值。你可以尝试修改keyver参数为1:

open_sc -scp 1 -scpimpl 0x15 -security 3 -keyind 0 -keyver 1 -key 你的密钥

2.3 降低安全级别尝试

当前你使用的是-security 3(双向认证),如果卡片当前状态不允许双向认证,尝试降低安全级别到1(仅卡片认证)或0(无认证):

# 仅卡片认证
open_sc -scp 1 -scpimpl 0x15 -security 1 -keyind 0 -keyver 0 -key 你的密钥
# 无认证
open_sc -scp 1 -scpimpl 0x15 -security 0 -keyind 0 -keyver 0 -key 你的密钥

3. 验证SCP实现参数(scpimpl)

你的卡片支持SCP02 i=05/15/55,当前你用的是0x15,可以尝试替换为0x05或0x55试试:

open_sc -scp 1 -scpimpl 0x05 -security 3 -keyind 0 -keyver 0 -key 你的密钥

4. 切换到GlobalPlatformPro的简化命令测试

使用GlobalPlatformPro的命令可以更直观地调试,尝试以下命令建立安全通道并读取小程序列表:

# 尝试用SCP02 i=15,密钥为默认值,仅卡片认证
gp -l -k 404142434445464748494a4b4c4d4e4f -s 02 -i 15 -sec 1

如果成功,再尝试执行设置OP_SECURED的命令:

gp -lock -k 你的密钥 -s 02 -i 15 -sec 3

额外提示

从你的CPLC信息来看,卡片的部分日期字段无效是正常的(SIM卡常省略部分非必要字段),无需担心。重点关注OperatingSystemReleaseLevel=011C,这对应Gemalto的特定OS版本,你可以查阅该版本的文档确认默认密钥和安全通道要求。

内容的提问来源于stack exchange,提问作者OneUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:01:20