This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ZigBee Pro 中的信任链路密钥

Guru**** 2540720 points
Other Parts Discussed in Thread: Z-STACK, CC2530

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/564780/trust-link-key-in-zigbee-pro

Thread 中讨论的其他器件:Z-stackCC2530

你(们)好

我正在尝试建立一个安全的 ZigBee 网络  

我在节点和协调器中均具有 ENBALED NV INIT 和 NV REESTORE 功能  

但默认情况下会注释"DTC_LINKKEY_JOIN"

协调器-我正在使用 ZNP Mesh

节点是 ZigBee 路由器器件

我是否必须匹配 ZigBee 协调器和节点(路由器)中的某些密钥

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您必须在协调器和设备上启用 TC Link 密钥才能启用安全性。 什么是 ZAP for Coordinator?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Zigbee 专业版

    因此、您意味着、如果我更改协调器和路由器(节点)中的16字节安全链路密钥阵列、

    在编译选项中、将 tc link key 启用为 true???

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    除非您认为应用程序需要更改密钥、否则您不必更改密钥。是的、您必须在编译选项中启用 TC_LINKKEY_JOIN 以使用 TC 链接密钥安全性。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的意思是、当一台路由器 R2通过某些路由器 R1与协调器关联时、它是否也能在网状网络中工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、它在网状网络上工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在协调器和节点(ZigBee 路由器器件)(现在是节点)中启用 TC_LINK_KEY

    即使在调试节点代码时 PC 在函数中到达
    "void ZDO_JoinConfirmCB( uint16 PanId,ZStatus_t Status )"

    但器件未发布

    我仅在协调器和节点中启用了 TC_LINK 宏

    但是、当我仅将旧代码还原到节点时、节点设备将被宣布

    我是否错过了一些东西?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用什么协调器? ZAP-ZNP 还是 SOC 模式? 您能否详细说明您的设置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我更改协调器 ZNP 代码中的唯一键值时
    在中
    它不工作

    但是、对于节点、如果我更改如下所示的键

    #define DEFAULT_TC_LINK_KEY {0x5b、0x70、0x67、0x42、0x65、 0x65、0x41、0x6c、\
    0x6c、0x69、0x61、0x6e、0x63、 0x65、0x30、0x39}

    (三 在节点中
    内部
    uint8 zgPreConfigKeys = true
    uint8 zgApsLinkKeyType = ZG_UNIQUE 链接键
    --------------------------------------------------

    -------- 在协调人 ZNP 中----
    uint8 zgPreConfigKeys = true
    uint8 zgApsLinkKeyType = ZG_GLOBAL_LINK_KEY
    --------------------------------------------------

    然后、节点不会在协调器中被通知、但是如果恢复到其正在工作的原始密钥
    {0x5a、0x69、0x67、0x42、0x65、 0x65、0x41、0x6c、0x6c、0x69、 0x61、0x6e、0x63、0x65、0x30、 0x39}
    这意味着、从节点侧来说、如果我更改密钥、节点将不会被宣布、这很好、如果我设置上面提到的密钥、节点将被宣布

    但是、关于协调器、我还想更改它
    例如、对于一组给定的协调器和节点、每个节点都将具有 TCL_LINK_KEY
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不要设置 zgPreConfigKeys = true,这将使用预配置的网络密钥,而不是使用 TC 链接密钥安全性。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    但我对此有疑问
    按照 z 堆栈开发人员指南

    """"如果设置为 true,则必须在每个设备上预配置默认密钥的值(完全相同的值)。 如果将其设置为 false、则只需在协调器器件上设置默认关键参数。 请注意、在后一种情况下、密钥将通过无线方式分配给每个加入器件。 因此,在加入过程中存在一个“漏洞时刻”,在此期间,对手可以通过侦听空中流量来确定密钥并破坏网络安全
    ""

    这就是我保持不变的原因

    在我的案例中、我还设置了两个协调器和一个节点

    每个协调器都有不同的 TCL_KEY,我已经根据固件制作了两个具有密钥匹配的节点代码,在这种情况下,它有时会起作用 (节点仅通知匹配的密钥协调器),但有时它不起作用,节点会自行重新启动  


    您对此有何建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您打算使用预配置的密钥、则应禁用 TC_LINKKEY_JOIN。 这两种设置无法共存。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    那么、您应该这么说

    我将禁用协调器和节点的编译选项中的 tclinkkey

    我可以为协调器和节点自定义/更改 nwk_globals.h 宏中提到的密钥

    要建立一个像一个特定节点这样的密切网络、只会将其声明为协调器的匹配宏值(COOR'Nwk_globals 中使用的宏值)。 h)?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    我使用以下配置运行该设置
    已启用 NV_init 和 NV_RESTORE、并禁用 TC_LINK_KEY

    设置1.
    ZNP 编码
    #define DEFAULT_TC_LINK_KEY {0x5a、0x69、0x67、0x42、0x65、 0x65、0x41、0x6c、0x6c、0x69、 0x61、0x6e、0x63、0x65、0x30、 0x39}
    节点( router )代码
    #define DEFAULT_TC_LINK_KEY {0x5a、0x69、0x67、0x42、0x65、 0x65、0x41、0x6c、0x6c、0x69、 0x61、0x6e、0x63、0x65、0x30、 0x39}

    设置2 //这里我更改了键
    ZNP 编码
    #define DEFAULT_TC_LINK_KEY {0x5b、0x69、0x67、0x42、0x65、 0x65、0x41、0x6c、0x6c、0x69、 0x61、0x6e、0x63、0x65、0x30、 0x39}
    节点( router )代码
    #define DEFAULT_TC_LINK_KEY {0x5b、0x69、0x67、0x42、0x65、 0x65、0x41、0x6c、0x6c、0x69、 0x61、0x6e、0x63、0x65、0x30、 0x39}


    结果-密钥为{5a}的节点已加入到具有'5a'的协调器、但即使密钥为{5b}的节点已加入到与设置1中相同的协调器、也会失败

    是否还有其他唯一的密钥或某些内容仍然丢失?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于您禁用 TC_LINKKEY_JOIN、因此应使用-DDEFAULT_KEY ="{0x01、0x03、0x05、0x07、0x09、 0x0B、0x0D、0x0F、0x00、0x02、 0x04、0x06、0x08、0x0A、0x0C、 0x0D}"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在协调器中设置默认密钥?
    不存在任何位置
    我只能定义
    -DDEFAULT_KEY ="{0x01、0x03、0x05、0x07、0x09、 0x0B、0x0D、0x0F、0x00、0x02、 0x04、0x06、0x08、0x0A、0x0C、 0x0D}
    在协调器 ZNP 代码中,位于,ZNP,cfg 中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您也可以在 ZNP 项目的 f8wconfig.cfg 中更改它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只有两个文件
    我在 ZNP.cfg 中添加了默认密钥,在 ZNP 配置文件中添加了与节点(路由器)代码中相同的默认密钥


    该节点正在获得连接确认(我已通过在 zdapp.c "ZDO_JoinConfirmCB"中设置断点进行检查
    但未在协调器中宣布
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为您的 ZAP-ZNP 协调员有问题。 我建议您使用 SampeLight 和 SampleSwitch 对其进行测试、以确保其首先工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我错过了哪些其他设置或部件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否使用 SampeLight 和 SampleSwitch 对其进行测试以确保其正常工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有,陈我不能这样做
    但我在我的 ZNP 协调器代码中做了一些更改
    如中定义的 zgPreconfigKeyInit
    --------------------------------------------------
    如果(setDefault) //此条件已被我删除

    //将默认值写回 nV
    状态= osal_nv_write (ZCD_NV_PRECFGKEY、0、SEC_KEY_LEN、zgPreConfigKey);

    --------------------------------------------------
    以便将配置文件中定义的密钥值有效地复制到 NV 存储器

    从 z 工具中也可以看到关键值是正确的(之前我没有设置上述逻辑时、不同的值出现在 RX 中
    (三
    RX>07:18:32.72 COM8 UTIL_GET_NV_INFO_RESPONSE (0x6701)
    状态:8 (0x8)
    IEEEAddress:0x00124B0008EA156A
    ScanChannels:无(0x0)
    PanID:0x0000
    SecurityLevel:0x10
    预配置密钥: (0x00、0x10、0x00、0xFF、0x01、 0x03、0x05、0x07、0x09、0x0B、 0x0D、0x0F、0x00、0x02、0x04、 0x06)
    (三

    在节点代码中、我暂时禁用了 NV 初始化和 NV 恢复

    现在是案例
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    第1个案例
    协调器-用一个键值编程
    Node 1st -<相同的键值>

    结果-通信成功、数据传输也在发生

    ##############################
    Node 2nd (节点第二个)-< Different key value (不同的键值

    结果-尽管键不同,但节点正在关联,但没有从 Z 工具传输数据(AF 数据传输)
    ############################
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


    我的问题是 wrt Node 2nd -
    因为如果我放置一个密钥值与此特定节点匹配的协调器,它不会重置/重新启动<它是否会与此新协调器通信?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为您必须使用 Ubiqua 数据包分析器来验证它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    其工作(在协调器中,我还启用了 NV_init 和 NV_RESTORE)
    我已经使用两个协调器和两个节点进行了检查

    但存在问题
    我必须在节点固件(Zigbee 路由器设备)中使用 NV_init 和 NV_restore
    现在,由于设备未通过身份验证,但仍将短地址分配给节点(该节点的密钥与协调器的密钥不匹配),因此节点将获得一些短地址,仅数据传输不会发生(如果我错了,请更正我), 节点将记住它,并且它将永远不会再次发送新的信标请求以与其他协调器关联(具有匹配的密钥)

    如何解决此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、如果密钥不匹配、设备仍会加入、但不会传输。 Z-Stack 中的器件示例将进入未经授权的状态并自行复位。 您看到了吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否、未重置

    我已连接并观看了这段内容

    是的、我已经检查过的任何通信都不会发生

    但我还想到了另一个问题

    当我使用 AF 数据请求时

    它没有像这样给我提供失败的回应

    0xE9

    0xe1

    0xCD

    尽管未通过该未授权节点接收到任何数据

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是在器件上运行 SOC 模式还是在 ZAP-ZNP 模式下运行?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是 ubiqua 数据包分析器日志

    情况

    Coordintaor 键

    -DDEFAULT_KEY ="{0x01、0x03、0x05、0x07、0x09、 0x0B、0x0D、0x0F、0x00、0x02、 0x04、0x06、0x08、0x0A、 0x0E、 0x0F}"

    节点密钥

    -DDEFAULT_KEY ="{0x01、0x03、0x05、0x07、0x09、 0x0B、0x0D、0x0F、0x00、0x02、 0x04、0x06、0x08、0x0A、 0x0C、 0x0D}"

    ZNP 上的 SoC 意味着?

    如何附加 ubiqua 数据包分析器日志文件,因为它没有上载(文件格式有问题)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SoC 意味着您可以在同一 CC253x 上运行 Zigbee 应用和 Zigbee Stack 内核。 ZNP 意味着您可以在 CC253x 上运行 Zigbee 堆栈内核、在充当 ZAP 的另一个处理器上运行 Zigbee 应用。 您可以压缩 Ubiqua 文件并附加它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 CC2530上使用 ZNP 堆栈、对于应用 、我使用 Z 工具

    CC2530使用串行转 USB 转换器连接到我的 PC

    节点设备未通过身份验证时出现问题,应重新启动或重新启动(看门狗重置)  或者类似的东西、它应该开始重新搜索新网络 (如果我缺少一些东西,请更正我)  

    e2e.ti.com/.../Key_5F00_mismatched_5F00_log.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您使用 ZNP、我认为您需要在设备未经授权时自行重置/重新启动。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    任何其他方式
    因此、节点本身将知道他没有父级协调器、并且可以在该节点本身进行一些逻辑添加、例如看门狗复位或重新开始网络构建
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尝试在 ZDUAP_ProcessSecEvent()中的"ZDUAP_DeviceAuthEvt();"设置断点,并进行调试以查看其运行情况。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、yikai、

    我已将逻辑设置为类似
    存在有效的密钥匹配方案时
    调用这些函数
    "ZDO_ProcessMatchDescReq"
    其中(“ZDP_MatchDescRsp”)
    被调用

    因此、我已经创建了一个逻辑、当 ZDO 终端器件通知函数被调用时、我将设置一个振荡器10秒
    一旦 ZDO 终端设备通知函数被调用,函数“ZDO_ProcessMatchDescReq”将在一秒钟内调用(这里我将停止该计时器)
    它也能正常工作、但几次失败、就像多次上电复位后一样
    如何失败-函数"ZDO_ProcessMatchDescReq"未被调用、因为我已经验证了它


    现在,您提到的两个函数(ZDUApp_ProcessSecEvent()中的“ZDApp_DeviceAuthEvt();”)没有被调用


    "如果节点和协调器的默认密钥不匹配,是否有任何方法可以检查该方案?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对您的描述感到困惑。 您能否详细说明您的最新状态和问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    设置相同
    ZNP 协调器(启用 NV 初始化和 NV 恢复的 Z 堆栈网状) CC2530
    ZStack Lightning -路由器(启用 NV 初始化和 NV 恢复) CC2530

    情景1.
    默认密钥匹配时
    每件事都在顺利工作

    情形2.
    当默认密钥不匹配时
    我添加了一个逻辑

    当 PC 达到 ZDO_JOINSEGmCB 时-我将启动计时器10秒以设置事件
    如果在10秒后设置该事件、节点将了解它已连接到错误的协调器
    在该事件中、它将添加该协调器为黑色、并执行复位
    因此、从下一次开始、它将搜索除黑名单之外的协调员

    如果密钥匹配,我将停止计时器(10秒),如中的“ZDO_ProcessMatchDescReq”函数所示 在 ZDO_joinConfirmCB 函数之后立即调用
    那么、在这里、我将停止计时器
    并清除黑色列出的协调器列表

    现在、即使密钥匹配该特定函数"ZDO_ProcessMatchDescReq"未被调用、即使密钥匹配、也会在黑名单中添加匹配的密钥的代码、因为计时器不会停止、而计时器是在 ZDO_joinconfirmCB 中启动的

    因此、这就是我要问的原因、是否有任何事件可供我从中找到
    默认密钥不匹配并执行某些操作? 而不是执行我上面提到的所有这些操作
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 ZDApp_ProcessNetworkJoin 中,它将通过调用"ZDApp_ResetTimerStart( MAX_DEVICE_unauth_TIMEOUT );"来创建一个 ZDO_DEVICE_RESET 事件。 如果未提供 NWK 或 TC_LINK_KEY 不匹 配、则会转至 ZDApp_EVENT_LOOP 中以下代码的红色部分、我想您可以在那里执行您的过程。

    if (事件和 ZDO_DEVICE_RESET)

    #ifdef ZBA_FRELET_NWKKEY
    if (devState == dev_end_device_unauth)

    ZDSecMgrFallbackNWKKey();

    其他
    #endif

    //设置 NV 启动选项以强制"新建"加入。
    zgWriteStartupOptions (ZG_STARTUP_SET、ZCD_STARTOPT_DEFAULT_NETWORK_STATE);

    //设备已处于取消验证状态,因此请重置
    //注意:此呼叫不会返回
    SystemResetSoft();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已通过更改节点中的默认键值进行检查
    尽管协调器中未按预期进行设备通知
    但 PC 在事件中未到达、
    if (事件和 ZDO_DEVICE_RESET)

    您是说我必须使用 TC_LINK_KEY、而不是默认密钥吗

    并尝试通过更改  节点中"NWK_globals.h"中的 tc_link_key 值来实现此目的
    并检查

    就像现在一样、在我的代码中禁用了 TC_LINKKEY_JOIN 预处理器  

    如果我错了,请纠正我的问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想知道您使用 ZNP 的观点。 我知道我的理论在 SOC 模式下工作、但我不确定 ZNP。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    文件"f8wconfig.cfg 中的关键值
    -DDEFAULT_KEY ="{0x01、0x03、0x05、0x07、0x09、 0x0B、0x0D、0x0F、0x00、0x02、 0x04、0x06、0x08、0x0A、0x0E、 0x09}"
    //这是最后两个字节(0x0E、0x09)//

    我可以将字节更改为任何数字、或者是否有任何更改字节的特定规则
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您打算通过更改默认密钥执行什么操作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这甚至可以通过更改来实现、但最重要的是、我希望为不同的客户创建不同的密钥
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果在构建 ZC 时使用一个 DEFAULT_KEY、并在 ZED 上使用另一个 DEFAULT_KEY、则此 ZED 应该无法成功加入 ZC。 您可以先测试并验证这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我已经验证过

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在是否清楚?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、感谢您的回答
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    欢迎您的到来、很高兴知道它现在很清楚。