From 096d1475ec72b98e716e9779a40aaad97e26ea80 Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey A mechanism, Communication certificates may be opaquely shared with
+ A mechanism, Communication certificates may be opaquely shared with
+ Communication certificates may be opaquely shared using
Set certificate.[[\KeyingMaterial]] to
- generatedKeyingMaterial. Store the generatedKeyingMaterial in a
+ secure module, and let handle be a reference
+ identifier to it. Set certificate.[[\KeyingMaterialHandle]] to
+ handle. Set certificate.[[\Certificate]] to
@@ -5378,7 +5383,8 @@ The For the purposes of this API, the [[\Certificate]] slot
contains unstructured binary data. No mechanism is provided for
- applications to access the [[\KeyingMaterial]] internal slot.
+ applications to access the [[\KeyingMaterialHandle]] internal
+ slot or the keying material it references.
Implementations MUST support applications storing and retrieving
- Confidentiality of Communications
peerIdentity
, is provided that gives
Javascript the option of requesting media that the same javascript cannot
access, but can only be sent to certain other entities.postMessage
in anticipation of future needs. User agents are
+ encouraged to not directly hold private keying material in these shared
+ objects, or limit sharing to the same origin, to reduce memory attack
+ surface.Persistent information exposed by WebRTC
From b9da44b5182fcb40f9c735949c7c181c073fd0c2 Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Confidentiality of Communications
peerIdentity
, is provided that gives
Javascript the option of requesting media that the same javascript cannot
access, but can only be sent to certain other entities.postMessage
in anticipation of future needs. User agents are
encouraged to not directly hold private keying material in these shared
objects, or limit sharing to the same origin, to reduce memory attack
From 9352a2494fd74a1c7a18972dbaaeab24fb4532ec Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Methods
origin.RTCCertificate Interface
RTCCertificate
interface represents a
certificate used to authenticate WebRTC communications. In addition to
the visible properties, internal slots contain a handle to the
- generated private keying materal ([[\KeyingMaterial]]), a certificate
+ generated private keying materal ([[\KeyingMaterialHandle]]),
+ a certificate
([[\Certificate]]) that RTCPeerConnection
uses to authenticate with a peer, and the origin ([[\Origin]])
that created the object.Methods
RTCCertificate
objects from persistent storage.
- In implementations where an RTCCertificate
might not
- directly hold private keying material (it might be stored in a
- secure module), a reference to the private key can be held in
- the [[\KeyingMaterial]] internal slot, allowing the
- private key to be stored and used.RTCCertificate
objects from persistent storage, in a manner
+ that also preserves the keying material referenced by
+ [[\KeyingMaterialHandle]].
+ Implementations SHOULD store the sensitive keying material in a secure
+ module safe from same-process memory attacks. This allows the private
+ key to be stored and used, but not easily read using a memory attack.
RTCCertificate
objects are serializable objects
[[!HTML]]. Their serialization steps, given value and
serialized, are:
Their deserialization steps, given serialized and @@ -5485,8 +5493,9 @@
Supporting structured cloning in this manner allows RTCCertificate instances to be persisted to stores. It @@ -12938,9 +12947,9 @@
Communication certificates may be opaquely shared using
postMessage
in anticipation of future needs. User agents are
- encouraged to not directly hold private keying material in these shared
- objects, or limit sharing to the same origin, to reduce memory attack
- surface.
RTCCertificate
objects, to reduce memory attack surface.