diff --git a/webrtc.html b/webrtc.html index 5f2fb1a98..7d41101f7 100644 --- a/webrtc.html +++ b/webrtc.html @@ -79,6 +79,13 @@

Terminology

handlers and event handler event types are defined in [[!HTML5]].

+

The terms + serializable objects, + serialization steps, and + deserialization steps are defined in [[!HTML]].

The terms MediaStream, MediaStreamTrack, and MediaStreamConstraints are defined in [[!GETUSERMEDIA]].

The term Blob is defined in [[!FILEAPI]].

@@ -4536,7 +4543,8 @@

RTCCertificate Interface

"RTCCertificate-certificate">certificate]]) that RTCPeerConnection uses to authenticate with a peer.

-
interface RTCCertificate {
+          
[Serializable]
+interface RTCCertificate {
     readonly        attribute DOMTimeStamp expires;
     readonly        attribute FrozenArray<RTCDtlsFingerprint> fingerprints;
     // At risk due to lack of implementers' interest.
@@ -4593,31 +4601,36 @@ 

Methods

contains unstructured binary data.

Note that a RTCCertificate might not directly hold private keying material, this might be stored in a secure module.

-

The RTCCertificate object can be stored and retrieved - from persistent storage by an application. When a user agent is - required to obtain a structured clone [[!HTML]] of a - RTCCertificate object, it performs the following - steps:

+ +

RTCCertificate objects are serializable objects + [[!HTML]]. Their serialization steps, given value and + serialized, are:

+
    -
  1. Let input and memory be the corresponding - inputs defined by the internal structured cloning algorithm, where - input represents a RTCCertificate object to - be cloned.
  2. -
  3. Let output be a newly constructed - RTCCertificate object.
  4. -
  5. Copy the value of the expires attribute from - input to output.
  6. -
  7. Let the [[certificate]] internal slot of output - be set to the result of invoking the internal structured clone - algorithm recursively on the corresponding internal slots of - input, with the slot contents as the new - "input" argument and memory as the new - "memory" argument. -
  8. -
  9. Let the [[handle]] internal slot of output - refer to the same private keying material represented by the - [[handle]] internal slot of input. -
  10. +
  11. Set serialized.[[\expires]] to the value of + value's expires attribute.
  12. + +
  13. Set serialized.[[\certificate]] to + a copy of the unstructured binary data in + value.[[certificate]].
  14. + +
  15. Set serialized.[[\handle]] be a serialization of the + private keying material represented by + value.[[handle]].
  16. +
+ +

Their deserialization steps, given serialized and + value, are:

+ +
    +
  1. Initialize value's expires attribute to + contain serialized.[[\expires]].
  2. + +
  3. Set value.[[certificate]] to + serialized.[[\certificate]].
  4. + +
  5. Set value.[[handle]] to the private key material + resulting from deserializing serialized.[[\handle]].