You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: files/en-us/mozilla/firefox/releases/138/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,6 +56,9 @@ Firefox 138 is the current [Beta version of Firefox](https://www.mozilla.org/en-
56
56
([Firefox bug 1945576](https://bugzil.la/1945576) and [Firefox bug 1945573](https://bugzil.la/1945573)).
57
57
- The [Web Audio API](/en-US/docs/Web/API/Web_Audio_API) now supports bidirectional messaging on an {{domxref("AudioWorklet.port")}} and an {{domxref("AudioWorkletGlobalScope.port")}}.
58
58
This allows for custom, asynchronous communication between code in the main thread and the global scope of an audio worklet, such as receiving control data or global settings. ([Firefox bug 1951240](https://bugzil.la/1951240))
59
+
- The {{domxref("RTCCertificate.getFingerprints()","getFingerprints()")}} method of the {{domxref("RTCCertificate")}} interface is now supported.
60
+
An application can use this to get fingerprints for a certificate, which might be shared out-of-band in order to identify a particular user or browser across WebRTC sessions.
The **`getFingerprints()`** method of the **{{domxref("RTCCertificate")}}** interface is used to get an array of certificate fingerprints.
12
12
13
-
An application can use this method to compare the client certificate fingerprints with the certificate fingerprints from the server.
14
-
The server and client may support different sets of algorithms: all fingerprint values for the set of algorithms supported by both client and server should match.
13
+
This can be used in application-level code to get certificate fingerprints, which are {{glossary("hash function","hashes")}} of the certificate created using the various algorithms supported by the browser.
15
14
16
15
## Syntax
17
16
@@ -35,28 +34,56 @@ Each fingerprint is represented by an object with the following properties:
35
34
- : A string containing the certificate fingerprint in lowercase hex string, as calculated with the `algorithm` hash function.
36
35
The format is more precisely defined in [RFC4572, Section 5](https://www.rfc-editor.org/rfc/rfc4572#section-5).
37
36
37
+
## Description
38
+
39
+
The {{domxref("RTCCertificate")}} instances used for a particular {{DOMxRef("RTCPeerConnection")}} can created using the {{DOMxRef("RTCPeerConnection.generateCertificate_static", "RTCPeerConnection.generateCertificate()")}} static method or fetched from storage in an [IndexedDB](/en-US/docs/Web/API/IndexedDB_API), and set in the constructor.
40
+
If no certificates are passed in the constructor they will be created automatically, in which case the certificates used can be fetched with {{DOMxRef("RTCPeerConnection.getConfiguration()")}}.
41
+
42
+
Browsers will automatically exchange certificates and fingerprints associated with each {{DOMxRef("RTCPeerConnection")}} during the SDP offer phase, and these will be used as part of the DTLS handshake to verify that the remote party matches the certificate/endpoint send in the SDP.
43
+
This provides a low level validation that the WebRTC communication is being set up with the remote party that initiated the offer, but does not, for example, provide any validation of the identity of the communicating users.
44
+
45
+
In some cases it can be useful for the application layer to share certificate fingerprints out-of-band:
46
+
47
+
- If a trust relationship has been established between two web-browsers it can be persisted by storing the certificates and reusing them in a later session (up to a year later).
48
+
The trusted certificates are identified by their fingerprints.
49
+
- Peers than want to identify a particular user can send fingerprints and validate the associated user "out of band" (i.e., outside of the browser-mediated WebRTC communications flow).
50
+
The application can use the fingerprint to identify later sessions with the specific user.
51
+
- In some conferencing server ("middlebox") implementations, the server may need to known the fingerprints before doing any offer/answer.
52
+
53
+
Peers may support different sets of algorithms.
54
+
When comparing certificates, all fingerprint values for the set of algorithms supported by peers should match.
55
+
38
56
## Examples
39
57
40
58
### Getting certificate fingerprints
41
59
42
-
This example shows how you might get certificate fingerprints and compare them to fingerprints from a server.
60
+
This example shows how you might get certificate fingerprints from the local peer and compare them to fingerprints from the remote peer.
43
61
44
-
First we create a connection and get the fingerprints.
45
-
We also get the fingerprints from the server using "some mechanism".
62
+
First we create a connection and get certificates and their fingerprints.
63
+
We get the fingerprints from the remote peer using "some out of band mechanism".
46
64
47
65
```js
66
+
// Get the certificate fingerprints from the local peer.
0 commit comments