📜  Node.js tlsSocket.getEphemeralKeyInfo() 方法(1)

📅  最后修改于: 2023-12-03 15:17:55.827000             🧑  作者: Mango

Node.js tlsSocket.getEphemeralKeyInfo() 方法

tlsSocket.getEphemeralKeyInfo() 方法返回一个对象,该对象描述了与当前 TLS 服务器会话关联的临时密钥的详细信息,包括用于生成临时密钥的算法和参数。

语法
tlsSocket.getEphemeralKeyInfo(): object
参数

该方法不接受任何参数。

返回值

一个包含以下属性的对象:

  • type:一个字符串,表示用于生成临时密钥的公共密钥算法的名称。目前支持的算法有 RSADHECDH
  • size:一个整数,表示临时密钥的密钥长度(以比特为单位)。
  • name:一个字符串,表示用于生成临时密钥的密钥协商参数的名称。如 prime256v1secp384r1 等。
  • reused:一个布尔值,表示当前 TLS 会话是否复用了之前的临时密钥。
示例
const tls = require('tls');

const client = tls.connect(443, 'google.com', () => {
  const info = client.getEphemeralKeyInfo();
  console.log(info);
  client.end();
});

输出结果为:

{ type: 'ECDH',
  size: 256,
  name: 'prime256v1',
  reused: false }
注意事项
  • 该方法只在 TLS 服务器握手完成之后才能调用。
  • 该方法只在支持 Ephemeral Key Exchange 协议的情况下才能返回有效的临时密钥信息。
  • 如果当前会话没有使用临时密钥生成,则 typesizename 属性将为 nullreused 属性将为 false