0

这是代码(Ubuntu上的浏览器Chrome):

   RTCPeerConnection.generateCertificate(
            {              name: "RSASSA-PKCS1-v1_5",
                  modulusLength: 2048,
                 publicExponent: new Uint8Array([1, 0, 1]),
                           hash: "SHA-256" })
           .then 
             ( function(cert) {
                 console.log("typeof: " + typeof(cert));
                  console.log("S: " + JSON.stringify(cert));
               }, 
               function(err) {
                   console.log("E: " + err);
               } 
             );

它显示:

   typeof: object
   S: {}

实际上,这几乎是来自Mozilla 网站的确切代码

此外,符合 WebRTC 规范第 4.9 节

4

2 回答 2

1

证书不可序列化。如果添加 a console.log(cert);,您会看到类似RTCCertificate { expires: 1595444355114 }. 这是故意的,您不能像在 webcrypto 中那样导出密钥。而且没有 toJSON

于 2020-06-22T19:03:25.377 回答
1

是的,cert.getFingerprints()[0].value.toUpperCase().trim();

https://pi.pe/p/genCertTest.html

是一个练习 generateCertificate() 的页面

于 2020-06-22T22:02:54.367 回答