Commit Graph

15776 Commits

Author SHA1 Message Date
Simon Giesecke
e09b49aa3d Bug 1641178 - Add NSSCipherStrategy. r=dom-workers-and-storage-reviewers,jcj,janv
Differential Revision: https://phabricator.services.mozilla.com/D73290
2021-02-24 13:18:24 +00:00
Benjamin Beurdouche
86775aa29e Bug 1692101 - Disable EV Treatment for Camerfirma's Chambers of Commerce Root - 2008 root certificate. r=mbirghan
Differential Revision: https://phabricator.services.mozilla.com/D106085
2021-02-23 15:12:58 +00:00
Bogdan Tara
3a7168e036 Backed out changeset 1d69ffd05b99 (bug 1683761) for failing assertion at ExtendedValidation CLOSED TREE
DONTBUILD
2021-02-23 11:43:03 +02:00
Moritz Birghan
2c3db5f78e Bug 1683761 - Enable EV Treatment for AC RAIZ FNMT-RCM SERVIDORES SEGUROS root certificate. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D104701
2021-02-23 09:09:56 +00:00
Haik Aftandilian
8a14bd779c Bug 1692220 - Add a test to ensure the com.apple.FontRegistry dir is readable from content processes r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D105822
2021-02-19 21:57:00 +00:00
Jonathan Kew
6a82712eab Bug 1692220 - Allow content-process read access to libFontRegistry caches. r=haik
Differential Revision: https://phabricator.services.mozilla.com/D105801
2021-02-19 21:56:59 +00:00
Benjamin Beurdouche
76f4cfc3b7 Bug 1688685 - land NSS NSS_3_62_RTM UPGRADE_NSS_RELEASE, r=beurdouche
2021-02-19  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.62 final
	[a8e045a9fff6] [NSS_3_62_RTM] <NSS_3_62_BRANCH>

2021-02-15  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* .hgtags:
	Added tag NSS_3_62_BETA1 for changeset a5c857139b37
	[145c269c82d6] <NSS_3_62_BRANCH>

Differential Revision: https://phabricator.services.mozilla.com/D105739
2021-02-19 10:28:33 +00:00
Benjamin Beurdouche
d3ac263f8c Backed out changeset 0b714d638157 (Bug 1692990) as it cause system nss build to fail. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D105737
2021-02-19 10:22:17 +00:00
ffxbld
782a30533f No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D105627
2021-02-19 10:22:03 +00:00
Dragana Damjanovic
f51b25f77b Bug 1511151 - Add a flag to allow client certs on CORS preflight connections r=necko-reviewers,keeler,valentin,kershaw
This is only used for CORS preflight requests. It is controlled by a pref.
Connections that server such request will be isolated from other anonymous connections.

Differential Revision: https://phabricator.services.mozilla.com/D96775
2021-02-18 18:58:17 +00:00
Alexis Beingessner
ade0725530 Bug 1686616 - make GfxInfo use Components instead of Services. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D105522
2021-02-18 13:26:29 +00:00
Greg Tatum
c9e1c0d512 Bug 1691751 - Fix Fluent linting whitespace issues; r=dminor,flod
Differential Revision: https://phabricator.services.mozilla.com/D105370
2021-02-17 21:02:49 +00:00
Benjamin Beurdouche
395f43422d Bug 1692990 - Changes to security/moz.build to allow building nssckbi-testlib in m-c. r=kjacobs
Differential Revision: https://phabricator.services.mozilla.com/D97630
2021-02-16 19:57:12 +00:00
Benjamin Beurdouche
6dfa84bd39 Bug 1688685 - land NSS NSS_3_62_BETA1 UPGRADE_NSS_RELEASE, r=mt
```
2021-02-05  Danh  <congdanhqx@gmail.com>

	* gtests/manifest.mn:
	Bug 1688374 - Fix parallel build NSS-3.61 with make. r=kjacobs

	[a5c857139b37] [NSS_3_62_BETA1]

2021-02-05  Robert Relyea  <rrelyea@redhat.com>

	* lib/libpkix/pkix/util/pkix_tools.c:
	Bug 1682044 pkix_Build_GatherCerts() + pkix_CacheCert_Add() can
	corrupt "cachedCertTable"

	Patch by Andrew Cagney Preliminary Review by Ryan Sleevie Tested
	against all.sh rrelyea. r=kjacobs

	(this bug is old)

	pkix_Build_GatherCerts() has two code paths for creating the list
	"certsFound":

	 pkix_CacheCert_Lookup() this sets "certsFound" to a new list
	"certsFound" and "cachedCertTable" share items but not the list

	 pkix_CacheCert_Add(pkix_pl_Pk11CertStore_CertQuery()) this sets
	"certsFound" to a new list; and then adds the list to
	"cachedCertTable" "certsFound" and "cachedCertTable" share a linked
	list

	Because the latter doesn't create a separate list, deleting list
	elements from "certsFound" can also delete list elements from within
	"cacheCertTable". And if this happens while pkix_CacheCert_Lookup()
	is trying to update the same element's reference, a core dump can
	result.

	In detail (note that reference counts may occasionally seem off by
	1, its because data is being captured before function local
	variables release their reference):

	pkix_Build_GatherCerts() calls pkix_pl_Pk11CertStore_CertQuery()
	(via a pointer) to sets "certsFound":

	 PKIX_CHECK(getCerts (certStore, state->certSel, state->verifyNode,
	&nbioContext, &certsFound, plContext), PKIX_GETCERTSFAILED);

	it then calls:

	 PKIX_CHECK(pkix_CacheCert_Add (certStore, certSelParams,
	certsFound, plContext), PKIX_CACHECERTADDFAILED);
	[dafda4eee75c]
```

Differential Revision: https://phabricator.services.mozilla.com/D105209
2021-02-16 10:39:36 +00:00
Gerald Squelart
2416d881e2 Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian
There are no code changes, only #include changes.
It was a fairly mechanical process: Search for all "AUTO_PROFILER_LABEL", and in each file, if only labels are used, convert "GeckoProfiler.h" into "ProfilerLabels.h" (or just add that last one where needed).
In some files, there were also some marker calls but no other profiler-related calls, in these cases "GeckoProfiler.h" was replaced with both "ProfilerLabels.h" and "ProfilerMarkers.h", which still helps in reducing the use of the all-encompassing "GeckoProfiler.h".

Differential Revision: https://phabricator.services.mozilla.com/D104588
2021-02-16 04:44:19 +00:00
ffxbld
0e6befe413 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D105197
2021-02-15 14:55:51 +00:00
Sylvestre Ledru
b4f9be25d4 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,necko-reviewers
Updated with clang-format version 11.0.1 (taskcluster-B6bdwSKDRF-luRQWXBuzpA)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D105158
2021-02-15 08:49:20 +00:00
Dana Keeler
1d51c89cb5 Bug 1691650 - prefer AES on ARM devices with hardware support for AES r=bbeurdouche
Bug 1583610 modified the cipher suite ordering on ARM devices to prefer
ChaCha20/Poly1305 with the assumption that hardware support for AES wouldn't be
available. However, because there are ARM devices with hardware support for
AES, this patch makes this only happen when that support isn't available.

Differential Revision: https://phabricator.services.mozilla.com/D104897
2021-02-12 19:38:17 +00:00
Butkovits Atila
70cd833bbe Bug 1585916 - disable test_session_resumption.js on win for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D104903
2021-02-12 17:01:38 +00:00
Dragana Damjanovic
efa5705d23 Bug 1690615 - Move DNS lookup into DnsAndConnectSocket r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D104464
2021-02-12 14:57:09 +00:00
Dana Keeler
78b4f0d3f1 Bug 1689796 - asynchronously load crlite stashes r=mbirghan,bbeurdouche
Loading an accumulated set of crlite stashes can take some time. To address
this, this patch dispatches an asynchronous background task to read the
accumulated set of crlite stashes in a way that doesn't block certificate
verification. Of course, this means that the stash information won't
necessarily be available for the first few verifications. This shouldn't be a
security concern as long as the crlite filter is no more than 10 days out of
date (the maximum lifespan of an OCSP response, which is what Firefox relies on
currently in release). Note that currently crlite filters as published by
remote settings regularly end up being more than 10 days old, which will be
addressed in https://github.com/mozilla/crlite/issues/153. Note further that
crlite is currently not being enforced by default on any channel, so making
this change now is not a security concern.

Differential Revision: https://phabricator.services.mozilla.com/D104447
2021-02-11 22:35:26 +00:00
Mark Banner
263d555274 Bug 1608272 - Remove 'this' as the second argument to 'ChromeUtils.import', use object destructuring instead (test-only changes). r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D104683
2021-02-11 22:02:15 +00:00
ffxbld
2a5a3fe221 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D104827
2021-02-11 16:31:23 +00:00
Moritz Birghan
84e35e0326 Bug 1678470 - convert the serialization version of TransportSecurityInfo to an integer. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D103887
2021-02-11 09:16:58 +00:00
Bogdan Tara
35e6e1afb1 Backed out changeset 3c7ae91a5486 (bug 1683761) for assertion failure at ExtendedValidation.cpp CLOSED TREE 2021-02-11 03:24:23 +02:00
Dana Keeler
b9d992a73c Bug 1690331 - enable AES for importing PKCS12 files r=bbeurdouche
InitializeCipherSuite() in nsNSSComponent.cpp controls which encryption schemes
are allowed when decrypting PKCS12 files. Before this patch, the AES ciphers
were not enabled, which prevented importing PKCS12 files that used AES.
This patch fixes this and adds a test.

Differential Revision: https://phabricator.services.mozilla.com/D104567
2021-02-10 23:58:14 +00:00
Moritz Birghan
cf8c48ef67 Bug 1683761 - Enable EV Treatment for AC RAIZ FNMT-RCM SERVIDORES SEGUROS root certificate. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D104701
2021-02-10 23:56:27 +00:00
Michael Goossens
0747b8564f Bug 1649590 - Convert XPIProvider.jsm to use IOUtils r=emalysz,mixedpuppy,barret,gcp
Differential Revision: https://phabricator.services.mozilla.com/D97354
2021-02-10 02:46:04 +00:00
ffxbld
2b98b4c743 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D104396
2021-02-08 14:50:41 +00:00
smolnar
9a5a166751 Backed out changeset 5dc57770d113 (bug 1685883) for causing failures nsICertOverrideService. CLOSED TREE DONTBUILD 2021-02-07 02:29:09 +02:00
Horst
efff090e64 Bug 1685883 - building with --disable-marionette fails with compile error r=keeler
building firefox 84.0.2 from source (https://archive.mozilla.org/pub/firefox/releases/84.0.2/source/) fails when using `ac_add_options --disable-marionette` because of missing header

Differential Revision: https://phabricator.services.mozilla.com/D101390
2021-02-06 21:45:08 +00:00
Benjamin Beurdouche
d901b16ba2 Bug 1688685 - land NSS fc3a4c142c16 UPGRADE_NSS_RELEASE, r=kjacobs
2021-02-04  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/ssl_gtest/ssl_recordsize_unittest.cc, lib/ssl/ssl3ext.c:
	Bug 1690583 - Fix CH padding extension size calculation. r=mt

	Bug 1654332 changed the way that NSS constructs Client Hello
	messages. `ssl_CalculatePaddingExtLen` now receives a
	`clientHelloLength` value that includes the 4B handshake header.
	This looks okay per the inline comment (which states that only the
	record header is omitted from the length), but the function actually
	assumes that the handshake header is also omitted.

	This patch removes the addition of the handshake header length.
	Those bytes are already included in the buffered CH.

	[fc3a4c142c16] [tip]

	* automation/abi-check/expected-report-libnss3.so.txt:
	Bug 1690421 - Adjust 3.62 ABI report formatting for new libabigail.
	r=bbeurdouche

	[a1ed44dba32e]

2021-02-03  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/taskcluster/docker-builds/Dockerfile:
	Bug 1690421 - Install packaged libabigail in docker-builds image
	r=bbeurdouche

	[3c719b620136]

2021-01-31  Kevin Jacobs  <kjacobs@mozilla.com>

	* cmd/selfserv/selfserv.c, cmd/tstclnt/tstclnt.c,
	lib/ssl/tls13hashstate.c, lib/ssl/tls13hashstate.h:
	Bug 1689228 - Minor ECH -09 fixes for interop testing, fuzzing. r=mt

	A few minor ECH -09 fixes for interop testing and fuzzing:
	- selfserv now takes a PKCS8 keypair for ECH. This is more
	maintainable and significantly less terrible than parsing the
	ECHConfigs and cobbling one together within selfserv (e.g. we can
	support other KEMs without modifying the server).
	- Get rid of the newline character in tstclnt retry_configs output.
	- Fuzzer fixes in tls13_HandleHrrCookie:
	 - We shouldn't use internal_error when PK11_HPKE_ImportContext fails.
	Cookies are unprotected in fuzzer mode, so this can be expected to
	occur.
	 - Only restore the application token when recovering hash state,
	otherwise the copy could happen twice, leaking one of the
	allocations.

	[8bbea1902024]

2021-01-25  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/ssl/ssl3exthandle.c:
	Bug 1674819 - Fixup a51fae403328, enum type may be signed.
	r=bbeurdouche

	[2004338a2080]

Differential Revision: https://phabricator.services.mozilla.com/D104258
2021-02-05 21:13:47 +00:00
Csoregi Natalia
cc417af149 Backed out changeset ee49da8ea890 (bug 1649590) for failures on browser_content_sandbox_fs.js. CLOSED TREE 2021-02-05 04:21:45 +02:00
Michael Goossens
1fa798a7eb Bug 1649590 - Convert XPIProvider.jsm to use IOUtils r=emalysz,mixedpuppy,barret,gcp
Differential Revision: https://phabricator.services.mozilla.com/D97354
2021-02-04 23:08:01 +00:00
Dana Keeler
aa773f5c8c Bug 1689729 - use NSS only on the socket thread in NSSCertDBTrustDomain::GetCertTrust and FindIssuer r=rmf,dragana
See bug 1689728. To avoid contention on NSS resources and thread-safety issues,
this patch dispatches synchronous events to the socket thread in
NSSCertDBTrustDomain::GetCertTrust and FindIssuer to gather information from
NSS rather than using NSS directly on the cert verification threads.

Differential Revision: https://phabricator.services.mozilla.com/D103514
2021-02-04 16:59:48 +00:00
ffxbld
4c04216f60 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D104064
2021-02-04 14:55:37 +00:00
Dana Keeler
a298d5ed49 Bug 1689698 - improve performance of DER.jsm r=mbirghan
This patch improves the performance of DER.jsm by changing readBytes to use
slice rather than repeatedly calling readByte.
Additionally, this patch removes the validation that the input to DERDecoder
consists of an array of integers in the range [0, 255]. This check is
unnecessary for all current consumers of DER.jsm because the input comes from
atob, which only outputs values in that range. If other consumers use DER.jsm
in the future, they will have to determine whether or not they need to validate
the input themselves first.

Differential Revision: https://phabricator.services.mozilla.com/D103838
2021-02-03 22:33:00 +00:00
Moritz Birghan
1ce3e1a549 Bug 1688922 - Remove IsCertificateDistrustImminent UI. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D103059
2021-02-03 08:50:20 +00:00
ffxbld
be3d1194cd No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D103667
2021-02-01 14:47:08 +00:00
Bob Owen
4967e1cddf Bug 1689398 p2: Add prefs to allow CET Strict Mode to be turned on for each sandboxed child process. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D103474
2021-01-31 16:47:11 +00:00
Bob Owen
cc73dd0338 Bug 1689398 p1: Add MITIGATION_CET_STRICT_MODE to chromium sandbox code. r=handyman
The patch for the chromium changes doesn't include the updates to
windows_version, because these are already in the release version of chromium
and so will be picked up when we next update.

Differential Revision: https://phabricator.services.mozilla.com/D103473
2021-01-31 16:46:48 +00:00
Xidorn Quan
1479c9d9e2 Bug 1687056 - Upgrade rkv to 0.17 and remove failure from rkv's dependent crates. r=vporof
Differential Revision: https://phabricator.services.mozilla.com/D102052
2021-01-29 12:58:00 +00:00
ffxbld
60fb840032 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D103352
2021-01-28 18:16:14 +00:00
Benjamin Beurdouche
13d4b68816 Bug 1687701 - Remove IsCertificateDistrustImminent. r=keeler,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102416
2021-01-27 18:05:24 +00:00
Dorel Luca
155fbede67 Backed out changeset 831388d8f118 (bug 1687701) for Build bustages. CLOSED TREE 2021-01-27 19:08:38 +02:00
Benjamin Beurdouche
207e18f326 Bug 1687701 - Remove IsCertificateDistrustImminent. r=keeler,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D102416
2021-01-27 16:38:37 +00:00
Dana Keeler
cf49738fe6 Bug 1688924 - fix sign_app.py and regenerate test_signed_app.js files r=mbirghan
When we moved to python3, sign_app.py had some issues that weren't addressed.
This patch addresses those issues and regenerates the input files for
test_signed_apps.js because the issuing certificates will expire soon.

Differential Revision: https://phabricator.services.mozilla.com/D103063
2021-01-26 20:45:08 +00:00
Kershaw Chang
119a94bbef Bug 1684040 - P3: Encrypt and decrypt DNS packet r=necko-reviewers,kjacobs,valentin
Differential Revision: https://phabricator.services.mozilla.com/D101684
2021-01-26 17:44:45 +00:00
Kevin Jacobs
0fd6f4034d Bug 1688317 - Update PSM test ECHConfigs for draft -09 r=necko-reviewers,valentin
Changes hardcoded ECHConfigs version from -08 to -09.

Differential Revision: https://phabricator.services.mozilla.com/D102810
2021-01-26 15:41:14 +00:00
Kevin Jacobs
f9716bc8ab Bug 1688685 - land NSS 92dcda94c1d4 UPGRADE_NSS_RELEASE, r=bbeurdouche
2021-01-22  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/abi-check/previous-nss-release, lib/nss/nss.h,
	lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.62 Beta
	[680ec01577b9]

2021-01-23  Kevin Jacobs  <kjacobs@mozilla.com>

	* tests/chains/scenarios/nameconstraints.cfg,
	tests/libpkix/certs/NameConstraints.ipaca.cert,
	tests/libpkix/certs/NameConstraints.ocsp1.cert:
	Bug 1686134 - Renew two chains libpkix test certificates. r=rrelyea

	[3ddcd845704c]

2021-01-25  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/common/testvectors/hpke-vectors.h,
	gtests/pk11_gtest/pk11_hpke_unittest.cc, lib/pk11wrap/pk11hpke.c,
	lib/pk11wrap/pk11hpke.h, lib/pk11wrap/pk11pub.h:
	Bug 1678398 - Update HPKE to draft-07. r=mt

	This patch updates HPKE to draft-07. A few other minor changes are
	included:
	- Refactor HPKE gtests for increased parameterized testing.
	- Replace memcpy calls with PORT_Memcpy
	- Serialization tweaks to make way for context Export/Import (D99277).

	This should not be landed without an ECH update, as fixed ECH test
	vectors will otherwise fail to decrypt.

	[e0bf8cadadc7]

	* automation/abi-check/expected-report-libnss3.so.txt,
	gtests/pk11_gtest/pk11_hpke_unittest.cc, lib/nss/nss.def,
	lib/pk11wrap/pk11hpke.c, lib/pk11wrap/pk11pub.h:
	Bug 1678398 - Add Export/Import functions for HPKE context. r=mt

	This patch adds and exports two new HPKE functions:
	`PK11_HPKE_ExportContext` and `PK11_HPKE_ImportContext`, which are
	used to export a serialized HPKE context, then later reimport that
	context and resume Open and Export operations. Only receiver
	contexts are currently supported for export (see the rationale in
	pk11pub.h).

	One other change introduced here is that `PK11_HPKE_GetEncapPubKey`
	now works as expected on the receiver side.

	If the `wrapKey` argument is provided to the Export/Import
	functions, then the symmetric keys are wrapped with AES Key Wrap
	with Padding (SP800-38F, 6.3) prior to serialization.

	[8bcd12ab3b34]

	* automation/abi-check/expected-report-libssl3.so.txt,
	gtests/ssl_gtest/libssl_internals.c,
	gtests/ssl_gtest/libssl_internals.h,
	gtests/ssl_gtest/ssl_extension_unittest.cc,
	gtests/ssl_gtest/tls_ech_unittest.cc, lib/ssl/ssl3con.c,
	lib/ssl/ssl3ext.c, lib/ssl/ssl3ext.h, lib/ssl/sslexp.h,
	lib/ssl/sslimpl.h, lib/ssl/sslsecur.c, lib/ssl/sslsock.c,
	lib/ssl/sslt.h, lib/ssl/tls13con.c, lib/ssl/tls13con.h,
	lib/ssl/tls13ech.c, lib/ssl/tls13ech.h, lib/ssl/tls13exthandle.c,
	lib/ssl/tls13exthandle.h, lib/ssl/tls13hashstate.c,
	lib/ssl/tls13hashstate.h:
	Bug 1681585 - Update ECH to Draft-09. r=mt

	This patch updates ECH implementation to draft-09. Changes of note
	are:

	- Acceptance signal derivation is now based on the handshake secret.
	- `config_id` hint changes from 32B to 8B, trial decryption added on
	the server.
	- Duplicate code in HRR cookie handling has been consolidated into
	`tls13_HandleHrrCookie`.
	- `ech_is_inner` extension is added, which causes a server to indicate
	ECH acceptance.
	- Per the above, support signaling ECH acceptance when acting as a
	backend server in split-mode (i.e. when there is no other local
	Encrypted Client Hello state).

	[ed07a2e2a124]

2021-01-24  Kevin Jacobs  <kjacobs@mozilla.com>

	* cmd/selfserv/selfserv.c:
	Bug 1681585 - Add ECH support to selfserv. r=mt

	Usage example: mkdir dbdir && cd dbdir certutil -N -d . certutil -S
	-s "CN=ech-public.com" -n ech-public.com -x -t "C,C,C" -m 1234 -d .
	certutil -S -s "CN=ech-private-backend.com" -n ech-private-
	backend.com -x -t "C,C,C" -m 2345 -d . ../dist/Debug/bin/selfserv -a
	ech-public.com -a ech-private-backend.com -n ech-public.com -n ech-
	private-backend.com -p 8443 -d dbdir/ -X publicname:ech-public.com
	(Copy echconfig from selfserv output and paste into the below
	command) ../dist/Debug/bin/tstclnt -D -p 8443 -v -A
	tests/ssl/sslreq.dat -h ech-private-backend.com -o -N <echconfig> -v

	[92dcda94c1d4]

Differential Revision: https://phabricator.services.mozilla.com/D102982
2021-01-26 15:30:01 +00:00