【问题标题】:How can I get the SHA1 fingerprint of a TlsCertificate in GJS?如何在 GJS 中获取 TlsCertificate 的 SHA1 指纹?
【发布时间】:2017-09-27 08:11:49
【问题描述】:

我正在尝试获取连接的Gio.TlsCertificate 的指纹,据我所知,这只是 DER 形式的证书的 SHA1 校验和。所以我想我可以在Gio.TlsCertificate 对象的certificate 属性上使用GLib.compute_checksum_for_data(),但是任何访问该属性的尝试都会导致:

JS 错误:错误:无法自省 GValue 中容器的元素类型

有没有一种方法可以访问证书属性,或者有一种更简单的方法可以在 GLib 中对证书进行指纹识别?

【问题讨论】:

    标签: x509 glib gio gjs


    【解决方案1】:

    这看起来像是为Gio.TlsCertificate.certificate 生成的自省 XML 中的一个错误。我已经filed an upstream bug 了。

    与此同时,您可以通过使用g_object_get() 手动检索属性并以这种方式处理事情来解决此问题;我不知道 JS 中究竟有哪些变通方法。

    【讨论】:

    • 值得一试(我一直忘记那个功能),但会导致同样的错误。通常,GJS 中唯一的解决方法是使用或链接提供相同功能的其他函数,但在这种情况下,我认为没有其他方法可以获取 DER 格式。我敢打赌,虽然fingerprint() 函数会是,但它可能并不常用于任何事情。感谢您为我提交错误报告。
    • 一个fingerprint() 函数(或属性)可能对上游有用——你想提交一份关于添加它的上游错误报告(并确保它是可自省的!)?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    相关资源
    最近更新 更多