<p>Kevin Harwell has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/c/testsuite/+/18573">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pjsip: Add tests that verify wildcard cert-bearing servers<br><br>This patch adds two new tests that verify the use of wildcard certs<br>when found in the common name (CN), or subject alt name (SAN).<br><br>ASTERISK-30072<br><br>Change-Id: I2d4cf66b642ccf97a6b275e1425c0cbfad5eb0ab<br>---<br>M lib/python/asterisk/sipp.py<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/ca.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/extensions.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjproject.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjsip.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/resolver_unbound.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/dns_zones/example.com<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/README.txt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.csr<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.csr<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cacert.pem<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cakey.pem<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/invite_recv.xml<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/test-config.yaml<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/ca.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/extensions.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjproject.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjsip.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/resolver_unbound.conf<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/dns_zones/example.com<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/README.txt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.csr<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.crt<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.csr<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.key<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cacert.pem<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cakey.pem<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/invite_recv.xml<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/test-config.yaml<br>A tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/tests.yaml<br>M tests/channels/pjsip/secure_calling/calls/nominal/tests.yaml<br>45 files changed, 1,026 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/testsuite refs/changes/73/18573/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/lib/python/asterisk/sipp.py b/lib/python/asterisk/sipp.py</span><br><span>index 498bf19..f010251 100644</span><br><span>--- a/lib/python/asterisk/sipp.py</span><br><span>+++ b/lib/python/asterisk/sipp.py</span><br><span>@@ -646,7 +646,8 @@</span><br><span> sipp_args = [</span><br><span> self.sipp, self.target,</span><br><span> '-sf',</span><br><span style="color: hsl(0, 100%, 40%);">- '%s/sipp/%s' % (self.test_dir, self.scenario['scenario']),</span><br><span style="color: hsl(120, 100%, 40%);">+ '%s' % (self.scenario['scenario']),</span><br><span style="color: hsl(120, 100%, 40%);">+# '%s/sipp/%s' % (self.test_dir, self.scenario['scenario']),</span><br><span> '-nostdin',</span><br><span> '-skip_rlimit',</span><br><span> ]</span><br><span>@@ -719,7 +720,7 @@</span><br><span> sipp_args[0],</span><br><span> sipp_args,</span><br><span> {"TERM": "vt100", },</span><br><span style="color: hsl(0, 100%, 40%);">- None,</span><br><span style="color: hsl(120, 100%, 40%);">+ "{0}/sipp".format(self.test_dir),</span><br><span> None)</span><br><span> return self._our_exit_deferred</span><br><span> </span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/ca.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/ca.crt</span><br><span>new file mode 120000</span><br><span>index 0000000..1d16722</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/ca.crt</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/ca.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/extensions.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..ab109a1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjproject.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjproject.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..1468ade</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjproject.conf</span><br><span>@@ -0,0 +1,14 @@</span><br><span style="color: hsl(120, 100%, 40%);">+; Common pjproject options</span><br><span style="color: hsl(120, 100%, 40%);">+;</span><br><span style="color: hsl(120, 100%, 40%);">+;========================LOG_MAPPINGS SECTION OPTIONS===============================</span><br><span style="color: hsl(120, 100%, 40%);">+[log_mappings] ; NOTE: The id of this object MUST be log_mappings.</span><br><span style="color: hsl(120, 100%, 40%);">+type = log_mappings</span><br><span style="color: hsl(120, 100%, 40%);">+asterisk_error = 0,1</span><br><span style="color: hsl(120, 100%, 40%);">+asterisk_warning = 2,3,4,5,6</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_notice =</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_verbose =</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_debug = 3,4,5,6</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[startup]</span><br><span style="color: hsl(120, 100%, 40%);">+type = startup</span><br><span style="color: hsl(120, 100%, 40%);">+log_level = 3</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjsip.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjsip.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..1389f8d</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/pjsip.conf</span><br><span>@@ -0,0 +1,24 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[global]</span><br><span style="color: hsl(120, 100%, 40%);">+type=global</span><br><span style="color: hsl(120, 100%, 40%);">+debug=yes</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[transport-tls]</span><br><span style="color: hsl(120, 100%, 40%);">+type=transport</span><br><span style="color: hsl(120, 100%, 40%);">+protocol=tls</span><br><span style="color: hsl(120, 100%, 40%);">+bind=127.0.0.1:5061</span><br><span style="color: hsl(120, 100%, 40%);">+method=tlsv1_2</span><br><span style="color: hsl(120, 100%, 40%);">+priv_key_file=<<astetcdir>>/uac.key</span><br><span style="color: hsl(120, 100%, 40%);">+cert_file=<<astetcdir>>/uac.crt</span><br><span style="color: hsl(120, 100%, 40%);">+ca_list_file=<<astetcdir>>/ca.crt</span><br><span style="color: hsl(120, 100%, 40%);">+verify_server=yes</span><br><span style="color: hsl(120, 100%, 40%);">+allow_wildcard_certs=yes</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[uas]</span><br><span style="color: hsl(120, 100%, 40%);">+type=aor</span><br><span style="color: hsl(120, 100%, 40%);">+contact=sips:uas.example.com:5062\;transport=tls</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[uas]</span><br><span style="color: hsl(120, 100%, 40%);">+type=endpoint</span><br><span style="color: hsl(120, 100%, 40%);">+direct_media=no</span><br><span style="color: hsl(120, 100%, 40%);">+allow=!all,ulaw</span><br><span style="color: hsl(120, 100%, 40%);">+aors=uas</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/resolver_unbound.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/resolver_unbound.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..38ef153</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/resolver_unbound.conf</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[general]</span><br><span style="color: hsl(120, 100%, 40%);">+nameserver = 127.0.0.1@10053</span><br><span style="color: hsl(120, 100%, 40%);">+resolv =</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.crt</span><br><span>new file mode 120000</span><br><span>index 0000000..9ada8f1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.crt</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/uac.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.key</span><br><span>new file mode 120000</span><br><span>index 0000000..f141b2b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/configs/ast1/uac.key</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/uac.key</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/dns_zones/example.com b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/dns_zones/example.com</span><br><span>new file mode 100644</span><br><span>index 0000000..79a9c6e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/dns_zones/example.com</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+zone = [</span><br><span style="color: hsl(120, 100%, 40%);">+ SOA(</span><br><span style="color: hsl(120, 100%, 40%);">+ # For whom we are the authority</span><br><span style="color: hsl(120, 100%, 40%);">+ 'example.com',</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # This nameserver's name</span><br><span style="color: hsl(120, 100%, 40%);">+ mname = "ns1.example.com",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Mailbox of individual who handles this</span><br><span style="color: hsl(120, 100%, 40%);">+ rname = "root.example.com",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Unique serial identifying this SOA data</span><br><span style="color: hsl(120, 100%, 40%);">+ serial = 2003010601,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Time interval before zone should be refreshed</span><br><span style="color: hsl(120, 100%, 40%);">+ refresh = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Interval before failed refresh should be retried</span><br><span style="color: hsl(120, 100%, 40%);">+ retry = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Upper limit on time interval before expiry</span><br><span style="color: hsl(120, 100%, 40%);">+ expire = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Minimum TTL</span><br><span style="color: hsl(120, 100%, 40%);">+ minimum = "1H"</span><br><span style="color: hsl(120, 100%, 40%);">+ ),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ A('uas.example.com', '127.0.0.1'),</span><br><span style="color: hsl(120, 100%, 40%);">+]</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/README.txt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/README.txt</span><br><span>new file mode 100644</span><br><span>index 0000000..858fcf0</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/README.txt</span><br><span>@@ -0,0 +1,16 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# certs generated using the following commands:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create CA</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -x509 -newkey rsa:4096 -nodes -keyout ca.key -out ca.crt</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server key and signing request</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -newkey rsa:4096 -nodes -keyout uas.key -out uas.csr -subj="/C=US/CN=*.example.com"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server certificate</span><br><span style="color: hsl(120, 100%, 40%);">+openssl x509 -CAkey ca.key -CA ca.crt -in uas.csr -set_serial 01 -req -out uas.crt</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create client key and signing request</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -newkey rsa:4096 -nodes -keyout uac.key -out uac.csr -subj="/C=US/CN=uac.example.com"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server certificate</span><br><span style="color: hsl(120, 100%, 40%);">+openssl x509 -CAkey ca.key -CA ca.crt -in uac.csr -set_serial 01 -req -out uac.crt</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..2ea4f93</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.crt</span><br><span>@@ -0,0 +1,33 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIFpzCCA4+gAwIBAgIUSnDTD4tLBg1kDRv9d1AQFi+icoIwDQYJKoZIhvcNAQEL</span><br><span style="color: hsl(120, 100%, 40%);">+BQAwYzELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM</span><br><span style="color: hsl(120, 100%, 40%);">+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEcMBoGA1UEAwwTQXN0ZXJpc2sgUHJp</span><br><span style="color: hsl(120, 100%, 40%);">+dmF0ZSBDQTAeFw0yMjA1MTgxODQxMzZaFw0yMjA2MTcxODQxMzZaMGMxCzAJBgNV</span><br><span style="color: hsl(120, 100%, 40%);">+BAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX</span><br><span style="color: hsl(120, 100%, 40%);">+aWRnaXRzIFB0eSBMdGQxHDAaBgNVBAMME0FzdGVyaXNrIFByaXZhdGUgQ0EwggIi</span><br><span style="color: hsl(120, 100%, 40%);">+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDQ91BFnDYawMJvkOkICGlfwBZo</span><br><span style="color: hsl(120, 100%, 40%);">+jVSZrXvhZxtaAfJQunl6l20DUwiKcTUq8cfgYWbW/yCoi2V7UE7rmoz91Q9diGc1</span><br><span style="color: hsl(120, 100%, 40%);">+7VMZuEmEnj1x302O6Z3P3OIZepAv9/+lG6G+dL+DK+WfDeeErCpe5trN17elxNLZ</span><br><span style="color: hsl(120, 100%, 40%);">+//WqOqewyd3tSZpZ78N/SnHqDVZVykCb2zLvAvLAkjwbUlbOazyDFWIfmgwobnTn</span><br><span style="color: hsl(120, 100%, 40%);">+WrZ0YGlCllucGVv9JuZGJNerosKSbTCI7JsBgpSIhOSy2QmneW2XcugFnCdxs5wL</span><br><span style="color: hsl(120, 100%, 40%);">+rCdz8IWiNnS6gaaiPHvLDdy3mg5/5agqIXFC5Mufb8dn8GsLoCG0GB/wBKRpp6mS</span><br><span style="color: hsl(120, 100%, 40%);">+Oo3PkiO/lkl3O9k8qUTGkDtDA7VMD2FoJOXmAKQxdv87Fes3OWi5BeWuQx5CwST8</span><br><span style="color: hsl(120, 100%, 40%);">+rVGbTCK6dJz2OXz2JjUiDdfZFsNj1OhA2ZBQxbG5SMIq0lllkbZI6ZUdgJ9WH/aA</span><br><span style="color: hsl(120, 100%, 40%);">+dogXXv0TyZ2bBBHfgCNzKLLM5btDkIWCUpQMrTKas7x7iTgDaN3eRcgE85hSIcbu</span><br><span style="color: hsl(120, 100%, 40%);">+KaheMSGadTbX082UcXgqfEraMMYK2VeBFejAX6Afm83KU5/68OXqTMZak09Z3oxx</span><br><span style="color: hsl(120, 100%, 40%);">+BpxKYrkJY2RB7a5pTfo3mP8ZY6S5N8hrt80QSRWUxxmURprrMfcJAPjRnsref0yQ</span><br><span style="color: hsl(120, 100%, 40%);">+tpwGGnXXKbU8JBhuXQIDAQABo1MwUTAdBgNVHQ4EFgQUFJZuEX6W4jrGHM0ICy3c</span><br><span style="color: hsl(120, 100%, 40%);">+NIWiWRIwHwYDVR0jBBgwFoAUFJZuEX6W4jrGHM0ICy3cNIWiWRIwDwYDVR0TAQH/</span><br><span style="color: hsl(120, 100%, 40%);">+BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAxyGVraSV60i/cJgySoaem7FLte//</span><br><span style="color: hsl(120, 100%, 40%);">+66l3pvYYyfhwwa9IXMoitS4ZKIt9gzSrkvaR5ng5Xr9CPROqR1OtMdeu1BxzoSDz</span><br><span style="color: hsl(120, 100%, 40%);">+aeLajkATQT4I2tM4sPgLpKGqjvy+aHEf7tTR4lGlv3FHH81pbMUpDL4pSrRLlGEH</span><br><span style="color: hsl(120, 100%, 40%);">+EfbbzL56kiN2TjyBWtVaryLj+/M7lNaNdmBYAj/lvf24fBtiR5Lvdr3S609m4mHN</span><br><span style="color: hsl(120, 100%, 40%);">+RKCnbpQxHFD6iSHzA4x72XOTjrLbyhqFFclrowNl1FZy/ViNMsIG34hS/sxdKCc7</span><br><span style="color: hsl(120, 100%, 40%);">+GKYUIUPEQG7x71hHoLVA7OiKXzE1hF/JM0VnFCC6YO7al3jroEHVvYFFr7vtly4X</span><br><span style="color: hsl(120, 100%, 40%);">+i/8sJ/fGTsHyrcDyVEXufiw82GHFtKCRLOBmUlbJI7RfcipdVJz/jgJsQ7lwTIg5</span><br><span style="color: hsl(120, 100%, 40%);">+qScMIpuN2DAeAHZrXr3Y/zPceLBFmb7+s8Sh5dz/nGV7zr6v8ZbUE1WgCrbjz1rG</span><br><span style="color: hsl(120, 100%, 40%);">+q+yPglKlPwKbdsjaPrLmzemt98T+MnRd5Zn+lPjXEJO9Sg8s6HG1dKYK47te9J6J</span><br><span style="color: hsl(120, 100%, 40%);">+ae0y1wmjZW4SvLFp0xiZO6NVkrQl01qNQ2V832E8/hDKCSxtDXpIwiVRzLngAV8O</span><br><span style="color: hsl(120, 100%, 40%);">+KMYhvL2wie9+Ctlir1J7simSnl8PjHlgybjsOkDtTxXOa9d21a9WX4hEJeMaYoY0</span><br><span style="color: hsl(120, 100%, 40%);">+VAjSfvfMgg1Btu4=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.key</span><br><span>new file mode 100644</span><br><span>index 0000000..5e68175</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/ca.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDQ91BFnDYawMJv</span><br><span style="color: hsl(120, 100%, 40%);">+kOkICGlfwBZojVSZrXvhZxtaAfJQunl6l20DUwiKcTUq8cfgYWbW/yCoi2V7UE7r</span><br><span style="color: hsl(120, 100%, 40%);">+moz91Q9diGc17VMZuEmEnj1x302O6Z3P3OIZepAv9/+lG6G+dL+DK+WfDeeErCpe</span><br><span style="color: hsl(120, 100%, 40%);">+5trN17elxNLZ//WqOqewyd3tSZpZ78N/SnHqDVZVykCb2zLvAvLAkjwbUlbOazyD</span><br><span style="color: hsl(120, 100%, 40%);">+FWIfmgwobnTnWrZ0YGlCllucGVv9JuZGJNerosKSbTCI7JsBgpSIhOSy2QmneW2X</span><br><span style="color: hsl(120, 100%, 40%);">+cugFnCdxs5wLrCdz8IWiNnS6gaaiPHvLDdy3mg5/5agqIXFC5Mufb8dn8GsLoCG0</span><br><span style="color: hsl(120, 100%, 40%);">+GB/wBKRpp6mSOo3PkiO/lkl3O9k8qUTGkDtDA7VMD2FoJOXmAKQxdv87Fes3OWi5</span><br><span style="color: hsl(120, 100%, 40%);">+BeWuQx5CwST8rVGbTCK6dJz2OXz2JjUiDdfZFsNj1OhA2ZBQxbG5SMIq0lllkbZI</span><br><span style="color: hsl(120, 100%, 40%);">+6ZUdgJ9WH/aAdogXXv0TyZ2bBBHfgCNzKLLM5btDkIWCUpQMrTKas7x7iTgDaN3e</span><br><span style="color: hsl(120, 100%, 40%);">+RcgE85hSIcbuKaheMSGadTbX082UcXgqfEraMMYK2VeBFejAX6Afm83KU5/68OXq</span><br><span style="color: hsl(120, 100%, 40%);">+TMZak09Z3oxxBpxKYrkJY2RB7a5pTfo3mP8ZY6S5N8hrt80QSRWUxxmURprrMfcJ</span><br><span style="color: hsl(120, 100%, 40%);">+APjRnsref0yQtpwGGnXXKbU8JBhuXQIDAQABAoICACNhPB4NDLwK1uC80Dej9PNZ</span><br><span style="color: hsl(120, 100%, 40%);">+OnIJO8GpNcg8BM2Adt5kNB0ldjeR32hRModK2GSNGTRdjdH7h/sQ5cvOJwDzCd70</span><br><span style="color: hsl(120, 100%, 40%);">+MUVYITHBmfDyOcUF4cPImgePhlh5/9+fRZFW1FPCwIoc7Iu5dvFnlOTsgS9Izrcq</span><br><span style="color: hsl(120, 100%, 40%);">+U+jFBXsE409zXjfGtnNzvM3YdOED0RJFZBr/Sehdv2wLVlHp5vib/2rSPALNujE+</span><br><span style="color: hsl(120, 100%, 40%);">+QlzJZwrdJ/U2L9yGDqUV6PcHVdyhegAArK8CIFxpF2zl0zLUvGW2kW+K7O3GOodt</span><br><span style="color: hsl(120, 100%, 40%);">+uYXgZ+2hU37baXgKa4QcaXk/p5cOZlYRNB+t+dcxlagw7LoUYotdWVd8niutHYjX</span><br><span style="color: hsl(120, 100%, 40%);">+eQkIHpUWsex9feOJAkgWnI4T6RYPpEfblmjtLEVqwlbhekwUuby0QrLlzaX+1dEz</span><br><span style="color: hsl(120, 100%, 40%);">+y6cTVzf42iZ5u8BeDIdeIF1+BYK/bnjW8XdhjfnSt8n/D+hSZ1d0kMo0xFbKYnyB</span><br><span style="color: hsl(120, 100%, 40%);">+7HEFeM6dYc7AjqZSiyRTiMQHcOpFyZEzDppZw0OFV1drXXcmZQi/qYO0qVswJtON</span><br><span style="color: hsl(120, 100%, 40%);">+AdQT7HOJW6Jdxfu3bP56Sty15Z6xXZ1EaE3+HK0CK+HzZh63CXVsvOFjeFZCR3tx</span><br><span style="color: hsl(120, 100%, 40%);">+buQCguf/xCEB6qFZZHu8GSvAaRpYu1i96+ouZY/SWTzPb6Fa43N02sBXiudIWmhM</span><br><span style="color: hsl(120, 100%, 40%);">+2mkaUD0kb0nZa28HzDsBAoIBAQD2OIqktrb/aMEBFZ4FqwmMzdI0v3dUv/j3oXVx</span><br><span style="color: hsl(120, 100%, 40%);">+Ses18a9SJMX49LJm56s2o4H8iNPWx98XvpDORYxdeH+wOvgLunHWYFWwGDI9s+3K</span><br><span style="color: hsl(120, 100%, 40%);">+fJnHtTYWLlDQRT6piBqtrLvmDmOl5hLsHghCvz+IguqPrkHJCRt3zib/lg51oea5</span><br><span style="color: hsl(120, 100%, 40%);">+V/oKqAudRe3z1FvSp8rf+j/ijWV5X4iQZskQkaIzudTDdnuu82bK2XMHJmhdjyGu</span><br><span style="color: hsl(120, 100%, 40%);">+wdXH2RI9XAGAPA9DwP0XFr7XoG1pKUWA5nDwe86mscOnxxju6Ls6rwPDVZLjyLSP</span><br><span style="color: hsl(120, 100%, 40%);">+41xpcRPMdBn6Noyw04cOgbXky+thtIPlZ3H5gZZJLAKbE6BpAoIBAQDZQ/uPwh6K</span><br><span style="color: hsl(120, 100%, 40%);">+0RHKrFmDkOt6Hp8TJqm0oD+3QlXrC5Xak3ZtjBI0o23MDtLrfDmlXYHjm28wGYRO</span><br><span style="color: hsl(120, 100%, 40%);">+kJk8jxi7iF+uJGkCbPmY2AnIboDDR4BX1dQQ8RL8u+JXSVdD4LtVsRaNDZdk53kY</span><br><span style="color: hsl(120, 100%, 40%);">+ilSpQyLcdBGoCQDA1jZDcx6qTipDdtQ8aE2v6doXalGnI7m8/TVAPxKXTJvqFglF</span><br><span style="color: hsl(120, 100%, 40%);">+3WdVyHeWgcfvJ2T9nfaZAU3nQlGYvXRPOHfiCr69bB+VGMnDlM4+x+SveTFlb3hM</span><br><span style="color: hsl(120, 100%, 40%);">+3E/SwweARywumPbjF4rJVlBhjLmvw1pb1Z5+smEjfbGN6lrzIPDUuD5wCN7AAmNL</span><br><span style="color: hsl(120, 100%, 40%);">+TaAZclPatV/VAoIBAQCwOI16D89vg1DHbupXUi+Wl+R/nh1RCcitquA8QdRXGnAJ</span><br><span style="color: hsl(120, 100%, 40%);">+UYpjgPaCUgKnK2UoEeHT0d8oxlorV3l7mHeC8OGAu2MoNHB/hQHISZPCHWWOmnJo</span><br><span style="color: hsl(120, 100%, 40%);">+c6OhPD355hB6BqvAnsHRBZa7aU8uPmTBVjl8thIdSShgmaotuP8GT+aq9n1dzSHq</span><br><span style="color: hsl(120, 100%, 40%);">+4RbKMU26uh6oKRo6EkrzEF3UQ8xZ0HGPpcvSTWV+NHR4cCM0ldeSRpOr2M0hqIm2</span><br><span style="color: hsl(120, 100%, 40%);">+YrgsSFAAhQpe0QermgVUg5ZcCBIC/AlOIuJOnV+J9gWynXoK/p8P6iDY7rfAO48Z</span><br><span style="color: hsl(120, 100%, 40%);">+AGtrOkl9cRczWcCOTShdGG5h7KSVF5sxKY9/4A8pAoIBAFUsTYZB9288HtlxT3ZA</span><br><span style="color: hsl(120, 100%, 40%);">+bc/mCT6cvZLN76yMGNqYJBsYDClN7CUunHCOrykZ/g9R5QWxfZlBp5iVHz2aa3u5</span><br><span style="color: hsl(120, 100%, 40%);">+Lqk6JOCKkB7XMp6ck2X6tdm5PfWWTHc/wK+vVMKLa2VgkxKg7WTlSZfRQvdIFnaO</span><br><span style="color: hsl(120, 100%, 40%);">+Gg3h2aW/VG6ExtTE59Si1PkJessnxhO/3lrDqqDoMuQI1eTyZ30RPnlhHo2GlTsv</span><br><span style="color: hsl(120, 100%, 40%);">+jY23x+OU9YNt+3hZi1txihM0c+rtg3EG3iq5GP/Pajs6afBQdojpdiPLio95XYtw</span><br><span style="color: hsl(120, 100%, 40%);">+W2W5GbBVHldnuwNDA9hfoSC3UfchPuuG7wBPi3AczczWncOV9p0XUo3G1KilJTJs</span><br><span style="color: hsl(120, 100%, 40%);">+QDECggEABEJ11UTQGAkVn3+PO+eGNG9J1BhyLvPcIveSX+WMC6BbkXafm0R0K0WU</span><br><span style="color: hsl(120, 100%, 40%);">+FEhKPEtbJXNeBn2GmTBDhpeAy3tCY+8d5BXSV0r+UiXkRJH7IFkktDQ9QSK0HzMg</span><br><span style="color: hsl(120, 100%, 40%);">+YQV92HShQ2aOYwFq0Es/7E5gY4Fz/OFjL+snclQ0WjM3GiTHuW4IuRu0dVwzukji</span><br><span style="color: hsl(120, 100%, 40%);">+AnWZykRe5gIhADN6tO98LPK/rVBk0MmByFiVaz+NJyz9bDjgnrLi3tEf80JTAEOo</span><br><span style="color: hsl(120, 100%, 40%);">+41SejBULyxR16s6h/D4HiQrHJeSiam0tr0iDlYkpMf6r8I9FR/LRcfZjK4+OVS58</span><br><span style="color: hsl(120, 100%, 40%);">+QlR3v4Gv/pkn4W48dTIKIbHNFcBA3g==</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..85790dc</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.crt</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIE/jCCAuYCAQEwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMxEzARBgNV</span><br><span style="color: hsl(120, 100%, 40%);">+BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0</span><br><span style="color: hsl(120, 100%, 40%);">+ZDEcMBoGA1UEAwwTQXN0ZXJpc2sgUHJpdmF0ZSBDQTAeFw0yMjA1MTkyMDU0MTha</span><br><span style="color: hsl(120, 100%, 40%);">+Fw0yMjA2MTgyMDU0MThaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA91YWMuZXhh</span><br><span style="color: hsl(120, 100%, 40%);">+bXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDEWHLrJkKv</span><br><span style="color: hsl(120, 100%, 40%);">+fL0b6sj4hWKf7RlP4b3CB01KcilHvwXoBmvzOW/ID2JEJPAJGrXHqgAIva/x2URy</span><br><span style="color: hsl(120, 100%, 40%);">+ObAMlE23UNHe0SLeSkVk6gdPv2NcxbudTGSkMoaJcyAyQ2tISARE4a44ZzmpJ/93</span><br><span style="color: hsl(120, 100%, 40%);">+LVNA/9WKkFp+cyThmni8vhheTsQP5gfM0yjLFhhAKDOqIg41uTgYLw9aLTqPRqbb</span><br><span style="color: hsl(120, 100%, 40%);">++lklYGzrIhybgI7ztN0H600WzccLi+OtSKIQ0gC3gzuk3R3tk194fU1yAT7SvKr9</span><br><span style="color: hsl(120, 100%, 40%);">+/6wY3ovO0AQoHf8t0Z+66QyvzicgsHMdAAkiarO1D+tqTyByeUYPZxP1s9Tly3A3</span><br><span style="color: hsl(120, 100%, 40%);">+o4V04Ici0WHFV7aSm7vKqaw4THgZsrbZrPSHJ/vkH4DG7BzoecaUcLsdq+vm2swa</span><br><span style="color: hsl(120, 100%, 40%);">+39qWHzz0lE12Iw4ioHeuhNZQ4yNkqTTzQPotmVKnZt1lXURiw4s03mYN4QH3w9cw</span><br><span style="color: hsl(120, 100%, 40%);">+uFFO6WAGeAA/UUMRD0HPD7SH3DYp+Q7h2C02yZF1gYZcOEbGP8idSEP7YvFshNiF</span><br><span style="color: hsl(120, 100%, 40%);">++7WBWi5929kqflqijon0Jzct6zfpu998BYbF9NS/ns2IEAhnGHoMMu17snEDTVqZ</span><br><span style="color: hsl(120, 100%, 40%);">+TuemLQzZxt0fEmIsAsb4lpKrnCe1q2jpf4o6aSE5IEobPaR6oEC0Cgpzs/3zZfTO</span><br><span style="color: hsl(120, 100%, 40%);">+kTCSlY4zDoYIs5v0BdgOKZUaTszZafoQ3QIDAQABMA0GCSqGSIb3DQEBCwUAA4IC</span><br><span style="color: hsl(120, 100%, 40%);">+AQAOs/bOxbA1AtEw7faawH8AIyqS2KkO2dPAEPiQkZH1l+BfAMbBoIA9XUwMX83P</span><br><span style="color: hsl(120, 100%, 40%);">+QqYIt+ixCF7NBNZojngMg0ugFEeBkZF8rEsLUur1x2ZibWA+NrsCZMWTRzfoJpJV</span><br><span style="color: hsl(120, 100%, 40%);">+hZBN5PrPMlWOzEQ4o9IYaS67FyuDf/y4oFLc9VTNwpmyRgmTaXlHAwLlEC5+mCi6</span><br><span style="color: hsl(120, 100%, 40%);">+/wrtWaOvUcSzYD4LuSMvRH1vvqCkAhA+ByoKvZLGVqj5UCLuwkz9JOJMJlsDdF/G</span><br><span style="color: hsl(120, 100%, 40%);">+2dN2dSpv1GiNE40unq4kY8hXEa3hSjW+N/SPi2ftaH+bXLYp3+3gel/9CuotfbEY</span><br><span style="color: hsl(120, 100%, 40%);">+Ovqj1olIvOq8m+2/DHhctL1D37ryAMxru62mIr7Flyv+KLkCxrvzBVko08uAX13m</span><br><span style="color: hsl(120, 100%, 40%);">+z3dkQL4qbu0SfXlaZcoioahRzZSxGjQS7I/vswJRYwoqMR3JzChHM+SHFdGgSECV</span><br><span style="color: hsl(120, 100%, 40%);">+KW4cYyR0rBU3ydNuKm1PvoTEz5qlX1sYkO1fRa7sNGSxtcU+YjyfsMLM/lDvVfk1</span><br><span style="color: hsl(120, 100%, 40%);">+T8u+ZBAYlEkGLMtkpL9a4VZkDLVbPduEymOe9NgcEiE8l5WxIcMxJ1roEizInAB6</span><br><span style="color: hsl(120, 100%, 40%);">+G1Wd1M36vuZabAqPENSevEDlgGSskyDMTGm+/p1BrWC+CF5BzjUdxC1D1HNLOtNp</span><br><span style="color: hsl(120, 100%, 40%);">+6jgGfPUrlk8wECvf7zBP2Yr841i/RgOnRVaDs42HF/VxlQ==</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.csr b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.csr</span><br><span>new file mode 100644</span><br><span>index 0000000..8dad934</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.csr</span><br><span>@@ -0,0 +1,26 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE REQUEST-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIEbDCCAlQCAQAwJzELMAkGA1UEBhMCVVMxGDAWBgNVBAMMD3VhYy5leGFtcGxl</span><br><span style="color: hsl(120, 100%, 40%);">+LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMRYcusmQq98vRvq</span><br><span style="color: hsl(120, 100%, 40%);">+yPiFYp/tGU/hvcIHTUpyKUe/BegGa/M5b8gPYkQk8AkatceqAAi9r/HZRHI5sAyU</span><br><span style="color: hsl(120, 100%, 40%);">+TbdQ0d7RIt5KRWTqB0+/Y1zFu51MZKQyholzIDJDa0hIBEThrjhnOakn/3ctU0D/</span><br><span style="color: hsl(120, 100%, 40%);">+1YqQWn5zJOGaeLy+GF5OxA/mB8zTKMsWGEAoM6oiDjW5OBgvD1otOo9Gptv6WSVg</span><br><span style="color: hsl(120, 100%, 40%);">+bOsiHJuAjvO03QfrTRbNxwuL461IohDSALeDO6TdHe2TX3h9TXIBPtK8qv3/rBje</span><br><span style="color: hsl(120, 100%, 40%);">+i87QBCgd/y3Rn7rpDK/OJyCwcx0ACSJqs7UP62pPIHJ5Rg9nE/Wz1OXLcDejhXTg</span><br><span style="color: hsl(120, 100%, 40%);">+hyLRYcVXtpKbu8qprDhMeBmyttms9Icn++QfgMbsHOh5xpRwux2r6+bazBrf2pYf</span><br><span style="color: hsl(120, 100%, 40%);">+PPSUTXYjDiKgd66E1lDjI2SpNPNA+i2ZUqdm3WVdRGLDizTeZg3hAffD1zC4UU7p</span><br><span style="color: hsl(120, 100%, 40%);">+YAZ4AD9RQxEPQc8PtIfcNin5DuHYLTbJkXWBhlw4RsY/yJ1IQ/ti8WyE2IX7tYFa</span><br><span style="color: hsl(120, 100%, 40%);">+Ln3b2Sp+WqKOifQnNy3rN+m733wFhsX01L+ezYgQCGcYegwy7XuycQNNWplO56Yt</span><br><span style="color: hsl(120, 100%, 40%);">+DNnG3R8SYiwCxviWkqucJ7WraOl/ijppITkgShs9pHqgQLQKCnOz/fNl9M6RMJKV</span><br><span style="color: hsl(120, 100%, 40%);">+jjMOhgizm/QF2A4plRpOzNlp+hDdAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEA</span><br><span style="color: hsl(120, 100%, 40%);">+aEpS/bxTWohZ6Xie0/tsOwaSEf7o42N6CwicYeYVXo8Tx+5+eU2nPiS9W4ErvYgw</span><br><span style="color: hsl(120, 100%, 40%);">+VucvVg7VRzf0nYjDmGLfrQ7Cnq+5pkCdNjVCVKO6z4iATdJzYLHwpgIHypFRVfKR</span><br><span style="color: hsl(120, 100%, 40%);">+g4XvZvbQfTgyDIXAMqODIDPGTsp7bJaU/p7na5RiJeOn/UjatA9aeOYEFyvWd3sH</span><br><span style="color: hsl(120, 100%, 40%);">+EQ9cC9OVgWuTw+jOLh/Z1l77qxKRVDoGshIsKxpaP2dS5sH4bo7lCfVTZf1VQiBZ</span><br><span style="color: hsl(120, 100%, 40%);">+eMr1+Bj8XwvxQ/GKMQ8xir1oaryZ6GezXRM3bht48i7lpEvgxx4pflEbTp32TFT1</span><br><span style="color: hsl(120, 100%, 40%);">+hviBqYrACp71wzwmFRwPXnVT7QWROmkHJUhz5tJ3uH8uI+6WT4GcP3qUUo6SEpuf</span><br><span style="color: hsl(120, 100%, 40%);">+OcDIDRcQq7LG8zjYGILUHbfS6m6XI2BnK+rjELmldGcw7XGplCTNV4zj+TQ2EKOw</span><br><span style="color: hsl(120, 100%, 40%);">++EkIkyXHSTitpMjrq5AXeIlMnIAClJ1T5TfV0bOimOHEsHV3H0sKvnCEO/0A443/</span><br><span style="color: hsl(120, 100%, 40%);">+yyV3/cYIJFG5i7QI80vsY8aMX6/xJh/m7EFm3DhEu/4luFYq24K/5rqVttMG6VNr</span><br><span style="color: hsl(120, 100%, 40%);">+cGq/IwVorIY8IzPy9o5w2xP1K8K6ryvo4dH6ng2xD5MgXxCw0nPAJyqYvOzgqeRi</span><br><span style="color: hsl(120, 100%, 40%);">+ECTtsuf/tCjdSUvAZHik79/mwcGTqvPtbY+I/2CqxCE=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE REQUEST-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.key</span><br><span>new file mode 100644</span><br><span>index 0000000..941ae26</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uac.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDEWHLrJkKvfL0b</span><br><span style="color: hsl(120, 100%, 40%);">+6sj4hWKf7RlP4b3CB01KcilHvwXoBmvzOW/ID2JEJPAJGrXHqgAIva/x2URyObAM</span><br><span style="color: hsl(120, 100%, 40%);">+lE23UNHe0SLeSkVk6gdPv2NcxbudTGSkMoaJcyAyQ2tISARE4a44ZzmpJ/93LVNA</span><br><span style="color: hsl(120, 100%, 40%);">+/9WKkFp+cyThmni8vhheTsQP5gfM0yjLFhhAKDOqIg41uTgYLw9aLTqPRqbb+lkl</span><br><span style="color: hsl(120, 100%, 40%);">+YGzrIhybgI7ztN0H600WzccLi+OtSKIQ0gC3gzuk3R3tk194fU1yAT7SvKr9/6wY</span><br><span style="color: hsl(120, 100%, 40%);">+3ovO0AQoHf8t0Z+66QyvzicgsHMdAAkiarO1D+tqTyByeUYPZxP1s9Tly3A3o4V0</span><br><span style="color: hsl(120, 100%, 40%);">+4Ici0WHFV7aSm7vKqaw4THgZsrbZrPSHJ/vkH4DG7BzoecaUcLsdq+vm2swa39qW</span><br><span style="color: hsl(120, 100%, 40%);">+Hzz0lE12Iw4ioHeuhNZQ4yNkqTTzQPotmVKnZt1lXURiw4s03mYN4QH3w9cwuFFO</span><br><span style="color: hsl(120, 100%, 40%);">+6WAGeAA/UUMRD0HPD7SH3DYp+Q7h2C02yZF1gYZcOEbGP8idSEP7YvFshNiF+7WB</span><br><span style="color: hsl(120, 100%, 40%);">+Wi5929kqflqijon0Jzct6zfpu998BYbF9NS/ns2IEAhnGHoMMu17snEDTVqZTuem</span><br><span style="color: hsl(120, 100%, 40%);">+LQzZxt0fEmIsAsb4lpKrnCe1q2jpf4o6aSE5IEobPaR6oEC0Cgpzs/3zZfTOkTCS</span><br><span style="color: hsl(120, 100%, 40%);">+lY4zDoYIs5v0BdgOKZUaTszZafoQ3QIDAQABAoICAQCE3s4175hlJWbcQ5BpDerm</span><br><span style="color: hsl(120, 100%, 40%);">+Cw98DWnaqhJV9NeWo+CdWesnl5Dbs/1t3AlMP/UP/y0yvRsZ8UvueLd4a8wD5/9+</span><br><span style="color: hsl(120, 100%, 40%);">+Z8zO3TgEyJLWFtBo8a67Df11WHPPBEeffBxXt9SbwJWjucc9f8HTpqqWbArYUEPN</span><br><span style="color: hsl(120, 100%, 40%);">+GqK0wVI/d+0JtQfdMm/I3oTWmkci85Gy6oTvOj6Jrx8WiVD9sHQunUZCkvRiUp1F</span><br><span style="color: hsl(120, 100%, 40%);">+ZkRXC+gf+c4bRnoSiEI0+9ggxdySU47DTJd6NKcA5NrJ8anP9rlIVgLieYfnFsIZ</span><br><span style="color: hsl(120, 100%, 40%);">+W+NZ4GfVluxs9HdqGb5su59y2P5v4ywOryloDkWpGrpZJa9HKtrv7AreQytwFn2w</span><br><span style="color: hsl(120, 100%, 40%);">+XCWuOIe54Cy7y/Jzydu8MKz9ljQdLjESrYACExWUifeVDaFbo3eUduWR8zG98Wux</span><br><span style="color: hsl(120, 100%, 40%);">+wN9xAnsVrK/tzBOpe2zZF6BBawsy63fMXGhYJL9oKWm/sGXI8qy7rDW6+oEtGgNI</span><br><span style="color: hsl(120, 100%, 40%);">+KCK+Ow3wZWdT3VrzU7GJuQKty+F0/WCLnGqbGUoGaj3NZViE95VzL4Lqyyhs8FLI</span><br><span style="color: hsl(120, 100%, 40%);">+1WYCiTWUHPn1MxqjdUmQW3PpOuzBM9ary9jHjjHcQQNKJxw8GXI0LQUHnYqvpZ9b</span><br><span style="color: hsl(120, 100%, 40%);">+z3vSNwOj3zr9b+KlPS5T9843+Q5jaxV1rEpVkw1JbTaoGEy+/ERXNyCOeKXThAe4</span><br><span style="color: hsl(120, 100%, 40%);">+758xMc2vB65wT7L3klEvCQKCAQEA8P1LSFnq89Rk0FhMm5GV28gw/55+ci2HVDQk</span><br><span style="color: hsl(120, 100%, 40%);">+FfQaVPGSe8CpST6noJIcguVTR3F6v8Jkh05zC/T7Fub5SXTi9J8OxSc+1sW5zdIe</span><br><span style="color: hsl(120, 100%, 40%);">+q77+07FW/AXhVrqXjMVzaQgO55apsjTjylj66jkP9oP6AwXTNRhudt+eahBPQV/1</span><br><span style="color: hsl(120, 100%, 40%);">+GU4psV8a+prhHr+qaJfCQNEeWoLKGUU4+1PGzQqLzXaZ+Qot4Fok/ulE5/qbJwD2</span><br><span style="color: hsl(120, 100%, 40%);">+7ZIJ+lL+1agg6DFRYgh9EznRT1Mezrv/G94pkKb+ZZbLvUTuJT8OBHgcNXDQ7yt8</span><br><span style="color: hsl(120, 100%, 40%);">+uKzUB4GVtZz2y3GWWGBdEgL4xL/+rrV0Y1D8KeWWnwA4dd0uMwKCAQEA0JNIj0x6</span><br><span style="color: hsl(120, 100%, 40%);">+wQPA0zEPzfHGqRJ8oPL+qdZX1WcrshWlLw3teKeXQ8sHdAG8n0+fhvcMEQLW62Lu</span><br><span style="color: hsl(120, 100%, 40%);">+VTulLY8+ESc2CNvb6L/5qYhPpzNv/ZI0xGZ1kCiVgXplSJWSMTR4SlLIdIsQP1Ue</span><br><span style="color: hsl(120, 100%, 40%);">+nMj7iR2g3OXfcJg5UVNANhpeq82eOlzyBgsmGGSF7RW8es2Fkn6WDH8uBmbtwL4b</span><br><span style="color: hsl(120, 100%, 40%);">+PFTRmrPY7wIclCOKDSutgbVQ2SneDevcqWVsHt0Fx+88u0fvX/qOADKK/XLuU2ff</span><br><span style="color: hsl(120, 100%, 40%);">+zck/OSy2Was4KyULCKAg6jJ9kNGqiJWRvyMeHja85R4C/j/NAXs/xc0HkF5/0FfB</span><br><span style="color: hsl(120, 100%, 40%);">+iXv04Ut+7KaUrwKCAQAU0AtcaEeeX02FoNqc5OnoXVW9/dY1zjDN2OL08mwDwglA</span><br><span style="color: hsl(120, 100%, 40%);">+ntb/+GVJvNSxiVSz6t0LCqLb/K567eFxjOkiqvGe5s3DwSvwKItvdyIm+wvPBJXa</span><br><span style="color: hsl(120, 100%, 40%);">+ljdr4hmMktDw1T1USvLE7URvCVhCOkNiqutAr5QaFc4UfiOUTWxK3Rqx4MpBA1G1</span><br><span style="color: hsl(120, 100%, 40%);">+KwMeQLda6SBhsK3Ka1lA7XWKXyXgN3Tzfba2h2aG5cIkMck9r6sOp0qsIdyyvdA8</span><br><span style="color: hsl(120, 100%, 40%);">+a5TL+NZqfQkwS+ID083pVNsncPxt/b4iz+8wnW9j0BpJ0IW/J8sjnMHcwTBepZZk</span><br><span style="color: hsl(120, 100%, 40%);">+ZPX7hAfUAh6Hm7IYa+x28jznBuuAQs/LU52MsFl5AoIBAQDIEyBdZY2zLPiBHeT9</span><br><span style="color: hsl(120, 100%, 40%);">+NtnMQVGPysiC/ntO2CLQN3c2xfNv88NkYpOJskjPwT9T5hOLFeA397SLyiVOqMNv</span><br><span style="color: hsl(120, 100%, 40%);">+DOAGa3BtugmxmHJf/zWEVgWMCITpfiS8CT6y+9c6oAxrrzFeqi8xsWMmHp07EFLI</span><br><span style="color: hsl(120, 100%, 40%);">+0zEc/sisvGEyBOWfhCQt9A6twXAPog3eOSWN3ywsNIWXA0CRH5cddr8Fho9yCOcl</span><br><span style="color: hsl(120, 100%, 40%);">+ji7/439/1tAfRmCBkGnTjNclH4cxq+7ptRHazMxQkzY39kPhj6gSFehXrJ6bJ8rc</span><br><span style="color: hsl(120, 100%, 40%);">+BSRiLqyA36nzPe+5RYaCcodWhEdV0EguuDVC0szCiQnJoj2JPTz6C9Q5H9DtdNAS</span><br><span style="color: hsl(120, 100%, 40%);">+DlE9AoIBAQDEeYOu6wwnE6d10NVDncHUsIYJC6KzY/yAk2ZOhUYKkt5vlMndEbeY</span><br><span style="color: hsl(120, 100%, 40%);">+s9YzRr4BanDtCmv7JagIWuQvtGB/cD+q89l7SQaWiToQeYHgQXKwcE5gDqTgFfg0</span><br><span style="color: hsl(120, 100%, 40%);">+QtHRsNwOjriVStSAuguyO604P+FMFp9YK6DWCCOtdTyDBxmj8xXo6d0Y2hCBJAjY</span><br><span style="color: hsl(120, 100%, 40%);">+yTskQm6VbJZ4ekPiaTXmZ2QivRbqW1q2To9U4TFCzAA+1iNdrTc3UaYnuvRNtg/T</span><br><span style="color: hsl(120, 100%, 40%);">+I8DUpTgi3C+m3UZOvrIQmyRq07Wq4UCMb8gezRWNSiCv4zJBJaj8JgnwwQbLg5go</span><br><span style="color: hsl(120, 100%, 40%);">+N2d1e4cwEgPv9Aut7EsDjVvpsTCooEJc</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..92dc2fd</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.crt</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIE/DCCAuQCAQEwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMxEzARBgNV</span><br><span style="color: hsl(120, 100%, 40%);">+BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0</span><br><span style="color: hsl(120, 100%, 40%);">+ZDEcMBoGA1UEAwwTQXN0ZXJpc2sgUHJpdmF0ZSBDQTAeFw0yMjA1MTkyMDUyMDha</span><br><span style="color: hsl(120, 100%, 40%);">+Fw0yMjA2MTgyMDUyMDhaMCUxCzAJBgNVBAYTAlVTMRYwFAYDVQQDDA0qLmV4YW1w</span><br><span style="color: hsl(120, 100%, 40%);">+bGUuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuyyyjE3fh/BA</span><br><span style="color: hsl(120, 100%, 40%);">+xy1ju1hmxLqkqe0V9PA31pmPWFHKfbvX5r3k3fFMaYIPIP6T0d+as6RF4ZnBROsg</span><br><span style="color: hsl(120, 100%, 40%);">+mkisqg3KiEOQugN2UWuW91zWE1LWUFmME7q9ozHRiwR+haZcRDt9bfD0Dq9+qYZ4</span><br><span style="color: hsl(120, 100%, 40%);">+gkoA0mCzPm87Xq5VUPxjohhlblH41Yy5/bc7nPQPCpLGMAzVOzMBOLvfx79+y/56</span><br><span style="color: hsl(120, 100%, 40%);">+T0K4Bd6u7EORHCVaea5ZvoTpK/8hzRs8n2QoYb0HsiDXW/M0iGic4o1tj2db3lh+</span><br><span style="color: hsl(120, 100%, 40%);">+OFAVDfaoXF2M4CkwigaU89VAv3EzpoF7uT3e59Pd0EcVW/zO86srxH+XUsK9rlJ5</span><br><span style="color: hsl(120, 100%, 40%);">+wc/Nys9T7e+ubjN8xSyJEVeIvnkdl/YEMoDFMw9PH7+YsnEu79ioMVE9pmnLKyOv</span><br><span style="color: hsl(120, 100%, 40%);">+l2a6yV152pMpt6vRK8G1LGvc8UF5Vi/oSmmUzhKkTNtpwbX9syOL01cHs+hFURPW</span><br><span style="color: hsl(120, 100%, 40%);">+8b89YKNmf8pKuB0zDvt6A47Jb1xV8frmTkTUaDRS8V4Ug+VSTm6yVSqucpYt/B6g</span><br><span style="color: hsl(120, 100%, 40%);">+K4Z+eOlQhl3SIm6SK62GvFkQgWpHvxF7+U77UdZyPTXHI47MdG4HnGxFcUrQVDWd</span><br><span style="color: hsl(120, 100%, 40%);">+STizD0kVqRYCyYkgk4JBqTY1FtkgxKB+lu0UCIwdE5ogs9nK+QlsnR17ertdxr5m</span><br><span style="color: hsl(120, 100%, 40%);">+4tsIJ6AB6qU6B7gnOShbdpHHTn6EOQECAwEAATANBgkqhkiG9w0BAQsFAAOCAgEA</span><br><span style="color: hsl(120, 100%, 40%);">+ejMDMn5MRAgd9QfiRc8KaW3NX2Q5Fg7o7S7MeectlZ1+8yAw0Bdg7YuYRtXODYsk</span><br><span style="color: hsl(120, 100%, 40%);">+xRQePb6OlcsNWKa8KpChtH5jrcVtNmCllAk2SdeuTn+R/ZsnPSwlZqN8u+/WR3Zj</span><br><span style="color: hsl(120, 100%, 40%);">+2C9rdsUZDJu93UwgMrROBN+EnTkXD5iK/k/valOPwf54BSmb/esYtbkO5BuPJfuj</span><br><span style="color: hsl(120, 100%, 40%);">+x5cS0l/B50cwSYWadwkTqx9K5T9h91q7yG3hwNSSUy9G8RBk4peunQPkEQ1JrWHB</span><br><span style="color: hsl(120, 100%, 40%);">+3RkPEjfsxL9+O77aUBi9syaytv52tophpWWl3W3ksebDyqUcPGBbTodp3JOk0MUX</span><br><span style="color: hsl(120, 100%, 40%);">+FxEYofX8mrBCyXHp5wwMHjoHqqYq6jtObR79F21LidfGh30A07EP5chi3qguHxE8</span><br><span style="color: hsl(120, 100%, 40%);">+/Dt1w+qrsso6hC3wBfJJ1/Yll3L2jjWdwMOGhqpxb4f8vBoyvynZ5QOH/yjHO1g7</span><br><span style="color: hsl(120, 100%, 40%);">+VyAvD2gt6DwRPxQYgzKXIVFlXqPyZEkRFjwbVdDUUCJaFZA7vL2XkRqjPhUumV76</span><br><span style="color: hsl(120, 100%, 40%);">+M4om3yhNtULj2Ccw/C6cz+kAHlBtDvDDbAL1KEGXG3P0GFGs2fPfqBmUHAWa546r</span><br><span style="color: hsl(120, 100%, 40%);">+4ag5hEo5B7gspBSV7Ep2xIJPXpmfl+IcNQRlOKEsQljX+Er0eXpyykaEEouYL5Sw</span><br><span style="color: hsl(120, 100%, 40%);">+huLKfSLVTjIFZSEFFQR0ikbGMAM/P9rsZm+SkT08pCU=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.csr b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.csr</span><br><span>new file mode 100644</span><br><span>index 0000000..1e07642</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.csr</span><br><span>@@ -0,0 +1,26 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE REQUEST-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIEajCCAlICAQAwJTELMAkGA1UEBhMCVVMxFjAUBgNVBAMMDSouZXhhbXBsZS5j</span><br><span style="color: hsl(120, 100%, 40%);">+b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC7LLKMTd+H8EDHLWO7</span><br><span style="color: hsl(120, 100%, 40%);">+WGbEuqSp7RX08DfWmY9YUcp9u9fmveTd8Uxpgg8g/pPR35qzpEXhmcFE6yCaSKyq</span><br><span style="color: hsl(120, 100%, 40%);">+DcqIQ5C6A3ZRa5b3XNYTUtZQWYwTur2jMdGLBH6FplxEO31t8PQOr36phniCSgDS</span><br><span style="color: hsl(120, 100%, 40%);">+YLM+bzterlVQ/GOiGGVuUfjVjLn9tzuc9A8KksYwDNU7MwE4u9/Hv37L/npPQrgF</span><br><span style="color: hsl(120, 100%, 40%);">+3q7sQ5EcJVp5rlm+hOkr/yHNGzyfZChhvQeyINdb8zSIaJzijW2PZ1veWH44UBUN</span><br><span style="color: hsl(120, 100%, 40%);">+9qhcXYzgKTCKBpTz1UC/cTOmgXu5Pd7n093QRxVb/M7zqyvEf5dSwr2uUnnBz83K</span><br><span style="color: hsl(120, 100%, 40%);">+z1Pt765uM3zFLIkRV4i+eR2X9gQygMUzD08fv5iycS7v2KgxUT2macsrI6+XZrrJ</span><br><span style="color: hsl(120, 100%, 40%);">+XXnakym3q9ErwbUsa9zxQXlWL+hKaZTOEqRM22nBtf2zI4vTVwez6EVRE9bxvz1g</span><br><span style="color: hsl(120, 100%, 40%);">+o2Z/ykq4HTMO+3oDjslvXFXx+uZORNRoNFLxXhSD5VJObrJVKq5yli38HqArhn54</span><br><span style="color: hsl(120, 100%, 40%);">+6VCGXdIibpIrrYa8WRCBake/EXv5TvtR1nI9Nccjjsx0bgecbEVxStBUNZ1JOLMP</span><br><span style="color: hsl(120, 100%, 40%);">+SRWpFgLJiSCTgkGpNjUW2SDEoH6W7RQIjB0TmiCz2cr5CWydHXt6u13Gvmbi2wgn</span><br><span style="color: hsl(120, 100%, 40%);">+oAHqpToHuCc5KFt2kcdOfoQ5AQIDAQABoAAwDQYJKoZIhvcNAQELBQADggIBAF7l</span><br><span style="color: hsl(120, 100%, 40%);">+moWPq7HuurQQdXS9iM6erVigSsin1PW7AjF2JRhIce4y+GwtX+ndYCl/S0eJhDDj</span><br><span style="color: hsl(120, 100%, 40%);">+zaJ5AOEiV++y6Ce4/kkUJoXD6jBSm1Bl02gHjozW3IL7m8VvlBUHA+zAp7K4tkor</span><br><span style="color: hsl(120, 100%, 40%);">+0FXLhvcVChmnn3LyDzgFOwqjKlThab6bMMRMu5NRQhQWC4YPB2AZmc3ffXtWQrvf</span><br><span style="color: hsl(120, 100%, 40%);">+laQ75kaXx2K96fREmqWSj2z6i/nMOIn3N4PCWDxtGRg6nmULU2fwsQVyer5zD307</span><br><span style="color: hsl(120, 100%, 40%);">+Bdfccsmrld+cGJo0WVnukyGyCNpzgJxhZRhGCVEaQhO/CX3SqtDOIp3F9YKyFaDc</span><br><span style="color: hsl(120, 100%, 40%);">+HW4rFa9u/F93cRmG6o7+5L+L/htMCYu6WG4LiF4rnMHJ5Fgt0ckmswgC3oLM148W</span><br><span style="color: hsl(120, 100%, 40%);">+Hri9bUvHgL1V1jhW3Lks70YDtX5mA7u5cnKeBiZNGfZS/NmSxguz8cuJZPsZl9Dr</span><br><span style="color: hsl(120, 100%, 40%);">+wTu7qlzv0YLvtYiXYai7w/Sm9rY2+9WcSvKK34hVZ45wq0qjR6V0HY3reUSOtlns</span><br><span style="color: hsl(120, 100%, 40%);">+s+drb/u774310eGixSEU3N/lorRsFoh9rzTI5bq4cYIIO1ZSm2mhFsCxAiJ0Osat</span><br><span style="color: hsl(120, 100%, 40%);">+jSzy9sQ9LXzg7dbekJ0Xi5vhcLz96Xri1nZ/Ns8DOopC/tm94+M8gDNsGAn19koD</span><br><span style="color: hsl(120, 100%, 40%);">+BvFJ3zepyYOLt0EBHihw7GMbWUsWafrW/HRwOzBb</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE REQUEST-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.key</span><br><span>new file mode 100644</span><br><span>index 0000000..d1d5330</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/keys/uas.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQC7LLKMTd+H8EDH</span><br><span style="color: hsl(120, 100%, 40%);">+LWO7WGbEuqSp7RX08DfWmY9YUcp9u9fmveTd8Uxpgg8g/pPR35qzpEXhmcFE6yCa</span><br><span style="color: hsl(120, 100%, 40%);">+SKyqDcqIQ5C6A3ZRa5b3XNYTUtZQWYwTur2jMdGLBH6FplxEO31t8PQOr36phniC</span><br><span style="color: hsl(120, 100%, 40%);">+SgDSYLM+bzterlVQ/GOiGGVuUfjVjLn9tzuc9A8KksYwDNU7MwE4u9/Hv37L/npP</span><br><span style="color: hsl(120, 100%, 40%);">+QrgF3q7sQ5EcJVp5rlm+hOkr/yHNGzyfZChhvQeyINdb8zSIaJzijW2PZ1veWH44</span><br><span style="color: hsl(120, 100%, 40%);">+UBUN9qhcXYzgKTCKBpTz1UC/cTOmgXu5Pd7n093QRxVb/M7zqyvEf5dSwr2uUnnB</span><br><span style="color: hsl(120, 100%, 40%);">+z83Kz1Pt765uM3zFLIkRV4i+eR2X9gQygMUzD08fv5iycS7v2KgxUT2macsrI6+X</span><br><span style="color: hsl(120, 100%, 40%);">+ZrrJXXnakym3q9ErwbUsa9zxQXlWL+hKaZTOEqRM22nBtf2zI4vTVwez6EVRE9bx</span><br><span style="color: hsl(120, 100%, 40%);">+vz1go2Z/ykq4HTMO+3oDjslvXFXx+uZORNRoNFLxXhSD5VJObrJVKq5yli38HqAr</span><br><span style="color: hsl(120, 100%, 40%);">+hn546VCGXdIibpIrrYa8WRCBake/EXv5TvtR1nI9Nccjjsx0bgecbEVxStBUNZ1J</span><br><span style="color: hsl(120, 100%, 40%);">+OLMPSRWpFgLJiSCTgkGpNjUW2SDEoH6W7RQIjB0TmiCz2cr5CWydHXt6u13Gvmbi</span><br><span style="color: hsl(120, 100%, 40%);">+2wgnoAHqpToHuCc5KFt2kcdOfoQ5AQIDAQABAoICAQCGYZTe/pnZszgOyBuuSc2e</span><br><span style="color: hsl(120, 100%, 40%);">+uJG4HiuBa2XrgNxVgINsugxL8VH7tl4x8dqCycO/Dla3Wt2BFy6XGGiT3FF61ePu</span><br><span style="color: hsl(120, 100%, 40%);">+6PNjWVD9K817Uv+vZ+3OSjwzfgLgw8e5k0RzF/luU3e+Exxl3sGFXLHweMkWQa7u</span><br><span style="color: hsl(120, 100%, 40%);">+yFVLqMZAGrQ9kF5iUh/g0eRGr+Lw0Jhr8uyvWsdMdVYPMXN8qZOTSeTuOux76mCT</span><br><span style="color: hsl(120, 100%, 40%);">+5/6qwnaunep4ylvN5qKR61ge533GjjyUOtfjgDzbIqBgV0Gtj3t5qvcT3wr+t3Qw</span><br><span style="color: hsl(120, 100%, 40%);">+vEmENo5OymLunNCbod5/UL9PQ4hh0M6T1jUTkfHTJ7WIokI2fPJJ0ZTw/Qy26xtJ</span><br><span style="color: hsl(120, 100%, 40%);">+olShDhtbcbcEwJXPH+Z27CNSjLAeuriceWb+sqspF8oS8/zIFJCMj2osk1KXVg2O</span><br><span style="color: hsl(120, 100%, 40%);">+ifHmiLR9i34jwQNG9YC+8DtHyimocz5AvNHg+2YJfTOR17y8bsUCz2Rlw0ntnq8i</span><br><span style="color: hsl(120, 100%, 40%);">+pyF1cKMC23k0nwa/QmsAm+zrrbHvqyjDyQ5+1iyOHO7EI2MUdHexJJOQRIRv4XFQ</span><br><span style="color: hsl(120, 100%, 40%);">+XT37QGs4ttQ4ioKagXkw0g4TCTq/BHAvmfijKh6vaNPGFwaYTvn5CNaSkD+KFYvu</span><br><span style="color: hsl(120, 100%, 40%);">+rFIonlbbpGs8BCZ5I/j1xYBAB3XK05DOR1qXTKl1u8EQ+RLGCtuLwxvHouv0ZN32</span><br><span style="color: hsl(120, 100%, 40%);">+EgpNW+yIVzMYKclU6HktAQKCAQEA27ueU7RLHWObOfJONdcD3ePfiIAEe56ePSgQ</span><br><span style="color: hsl(120, 100%, 40%);">+NSvDlw0mOIC6fCzjGXCxh1KfJlLV1lP9TbT2wPXf/h5oAbWyJzciXvyoyjIxDuHX</span><br><span style="color: hsl(120, 100%, 40%);">+veryGFghRhGB8GnOU5t5G63oz4Db+mcOSS7BrGQjTM8fII9yUGkAjZd/NVQM3JBp</span><br><span style="color: hsl(120, 100%, 40%);">+9/xb9KuAvtu7GN3cqVcIs64kjDG24JQN61FNugxKHYAJ824Sppx+4mYB60148Zp1</span><br><span style="color: hsl(120, 100%, 40%);">+VK/ex94fk79Z6dlrojVrAJnGMQoGT7TbWEx2T6kM3CtjhVS36ThzMHWkNDZoaLXB</span><br><span style="color: hsl(120, 100%, 40%);">+Q/ql1dz6QOSr3l+a7W7k3un+OSn8CdneliJ4sPA5CH843iqo2QKCAQEA2hFkgGor</span><br><span style="color: hsl(120, 100%, 40%);">+KXHQm+MXBklkcMbzMKpy9oqTvHERhauqHknfpWqc662NktD+eooJIcaxCgxUQzHI</span><br><span style="color: hsl(120, 100%, 40%);">+qoBoOY++2PTo/v7Opvn6g3PkrYw2lxSIqNk1pmrB+kl+PmXLVzH390IPjJNEZoYf</span><br><span style="color: hsl(120, 100%, 40%);">+OQn+KLbVzzVdkaY+AqNzYcxMi7BTGGL1wTse7TAEKd9LPoEE66RHXGVKog2RPv2c</span><br><span style="color: hsl(120, 100%, 40%);">+2Kk3+seyLksn591iDZ7zsNKcTCN39Nnqa1GlhxUUMVsmR+PE2YbDZZ7A6kvQdaWC</span><br><span style="color: hsl(120, 100%, 40%);">+I5uAvNQ+QADAI8Yp9m76uClXS5KFNSjSnjqU8YE+3o0Y6VL9nzaP27LlnmYPz2rG</span><br><span style="color: hsl(120, 100%, 40%);">+q6G9IPwB8VG4aQKCAQEAzHsgr8yMSmEzRw2SctARLSCuGJzpjxDhORBbZN/BOIRo</span><br><span style="color: hsl(120, 100%, 40%);">+GRTSdlRfUoFo9AGTUVqs3LN0eif5qUAmnpk1OMIZdBz+w15kxSVIOg05c+d8O+Nn</span><br><span style="color: hsl(120, 100%, 40%);">+s4j/XvdXpr58SaHhkZjdHX1h8gCtAvx9TTFCSk6zltjgRuPA4aPCBE/wDXKvMFWZ</span><br><span style="color: hsl(120, 100%, 40%);">+jgN1bYKponz4AB4CrORmxz+AZIhYyNY+8o0AtaStfpcMDSvYhVynPE78+T5hF6ZB</span><br><span style="color: hsl(120, 100%, 40%);">+xIDB77kBTQZg+UIhCenGTc6EgPtG7oLnEMzf5Ggebc62g1Y25M/tAeSCYfyS7x6h</span><br><span style="color: hsl(120, 100%, 40%);">+VFp5Bov55RLZsggXKKNFhPVXCmgx4JbsvFeIWFdioQKCAQALihgTY4rdKpSraxzw</span><br><span style="color: hsl(120, 100%, 40%);">+zDlwbla4IIzs1vBybFlNBYR/DdGz4yxinFB9kGmm+l75VpZPvc9Hrv67Zwgc46pp</span><br><span style="color: hsl(120, 100%, 40%);">+uKwLslglJd1Hz34uYNkSrZd9t+DK6aNSJ0ly69gSySYiA3DnM3PPKRHF5u14IhS2</span><br><span style="color: hsl(120, 100%, 40%);">+XlCRQIbPhO66IiF60t3S0InIq+Q7EOtne9VzfUhRX+QW05VbdfRVrP37yRiZQLAB</span><br><span style="color: hsl(120, 100%, 40%);">+GyEFeAWUSvECTmLO9KGIZ2+sNinYOBlVc0lXTIpCKIt2eSwkOdbSIuv8DmKFm4Wf</span><br><span style="color: hsl(120, 100%, 40%);">+xWplejsGO2ExFZ709M/vvDVJAjiXfwtgo37J+gZJwo1iRtk3xJbZlwDkXC6x7CP+</span><br><span style="color: hsl(120, 100%, 40%);">+LSDhAoIBAQDW4hzt9w9tzGMzY6FxISWU7hkgDSrWHiX52H59s9ZexkitqL0iUb9Q</span><br><span style="color: hsl(120, 100%, 40%);">+IVw0G0sx+alcFq/9hEOKJBxBbMUDM3Llm83OZhmlwvm7b1zG5obcAbEMbbQgTY/R</span><br><span style="color: hsl(120, 100%, 40%);">+N69L6hdjc1FQ8LxEdA8tp5sLlD1BHpdu1VHDPHaNPYxNX5nkhU1BX2aHsz7YL3GZ</span><br><span style="color: hsl(120, 100%, 40%);">+Y7iCNBpaC8q3/mpv/UYne0/P/hVagfMAu68pJNA897BrpXrapQ+FoU/PTk8ild3l</span><br><span style="color: hsl(120, 100%, 40%);">+bCzBhkWBg2VrTca7UpMtad3k5n4r6u4exSIXOy5M9mD+TN/Ej7ogbP+VvgzUjnfP</span><br><span style="color: hsl(120, 100%, 40%);">+GHMYcphfWOkDUJCTZSU/gvR7508nCz/N</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cacert.pem b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cacert.pem</span><br><span>new file mode 120000</span><br><span>index 0000000..440ae96</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cacert.pem</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../keys/uas.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cakey.pem b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cakey.pem</span><br><span>new file mode 120000</span><br><span>index 0000000..0f76a9b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/cakey.pem</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../keys/uas.key</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/invite_recv.xml b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/invite_recv.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..2ab846e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/sipp/invite_recv.xml</span><br><span>@@ -0,0 +1,74 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Receive Invite"></span><br><span style="color: hsl(120, 100%, 40%);">+ <Global variables="remote_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv request="INVITE"></span><br><span style="color: hsl(120, 100%, 40%);">+ <action></span><br><span style="color: hsl(120, 100%, 40%);">+ <ereg regexp=".*(;tag=.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+ header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+ search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+ check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+ assign_to="remote_tag"/></span><br><span style="color: hsl(120, 100%, 40%);">+ </action></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ SIP/2.0 180 Ringing</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_To:];tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: <sips:[service]@[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_To:];tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: <sips:[service]@[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ v=0</span><br><span style="color: hsl(120, 100%, 40%);">+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+ s=-</span><br><span style="color: hsl(120, 100%, 40%);">+ c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+ t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+ m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+ a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv request="ACK" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+ BYE sips:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+ From: <sips:[local_ip]:[local_port]>;tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ To: [$remote_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: sips:[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+ Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv response="200" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/test-config.yaml b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..ed11289</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/cn/test-config.yaml</span><br><span>@@ -0,0 +1,44 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+ summary: 'Test TLS using a certificate with a wildcard CN'</span><br><span style="color: hsl(120, 100%, 40%);">+ description: |</span><br><span style="color: hsl(120, 100%, 40%);">+ 'Originate a call using TLS from Asterisk to a remote endpoint,</span><br><span style="color: hsl(120, 100%, 40%);">+ and verify usage of a wildcard certificate. If the call is</span><br><span style="color: hsl(120, 100%, 40%);">+ successfully established then it worked.'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+ test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: test-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'sipp.SIPpTestCase'</span><br><span style="color: hsl(120, 100%, 40%);">+ modules:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: orig-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'pluggable_modules.Originator'</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: dns-server-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'dns_server.DNSServer'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ test-iterations:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ scenarios:</span><br><span style="color: hsl(120, 100%, 40%);">+ - { 'key-args': {'scenario': 'invite_recv.xml', '-s': 'uas', '-p': '5062', '-t': 'l1', '-tls_version': '1.2' } }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+orig-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ channel: 'PJSIP/uas'</span><br><span style="color: hsl(120, 100%, 40%);">+ application: 'Echo'</span><br><span style="color: hsl(120, 100%, 40%);">+ async: 'True'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+dns-server-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ port: 10053</span><br><span style="color: hsl(120, 100%, 40%);">+ python-zones:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ example.com</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+ dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'chan_pjsip'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip_session'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip_sips_contact'</span><br><span style="color: hsl(120, 100%, 40%);">+ tags:</span><br><span style="color: hsl(120, 100%, 40%);">+ - pjsip</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/ca.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/ca.crt</span><br><span>new file mode 120000</span><br><span>index 0000000..1d16722</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/ca.crt</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/ca.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/extensions.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..ab109a1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjproject.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjproject.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..1468ade</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjproject.conf</span><br><span>@@ -0,0 +1,14 @@</span><br><span style="color: hsl(120, 100%, 40%);">+; Common pjproject options</span><br><span style="color: hsl(120, 100%, 40%);">+;</span><br><span style="color: hsl(120, 100%, 40%);">+;========================LOG_MAPPINGS SECTION OPTIONS===============================</span><br><span style="color: hsl(120, 100%, 40%);">+[log_mappings] ; NOTE: The id of this object MUST be log_mappings.</span><br><span style="color: hsl(120, 100%, 40%);">+type = log_mappings</span><br><span style="color: hsl(120, 100%, 40%);">+asterisk_error = 0,1</span><br><span style="color: hsl(120, 100%, 40%);">+asterisk_warning = 2,3,4,5,6</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_notice =</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_verbose =</span><br><span style="color: hsl(120, 100%, 40%);">+;asterisk_debug = 3,4,5,6</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[startup]</span><br><span style="color: hsl(120, 100%, 40%);">+type = startup</span><br><span style="color: hsl(120, 100%, 40%);">+log_level = 3</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjsip.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjsip.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..1389f8d</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/pjsip.conf</span><br><span>@@ -0,0 +1,24 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[global]</span><br><span style="color: hsl(120, 100%, 40%);">+type=global</span><br><span style="color: hsl(120, 100%, 40%);">+debug=yes</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[transport-tls]</span><br><span style="color: hsl(120, 100%, 40%);">+type=transport</span><br><span style="color: hsl(120, 100%, 40%);">+protocol=tls</span><br><span style="color: hsl(120, 100%, 40%);">+bind=127.0.0.1:5061</span><br><span style="color: hsl(120, 100%, 40%);">+method=tlsv1_2</span><br><span style="color: hsl(120, 100%, 40%);">+priv_key_file=<<astetcdir>>/uac.key</span><br><span style="color: hsl(120, 100%, 40%);">+cert_file=<<astetcdir>>/uac.crt</span><br><span style="color: hsl(120, 100%, 40%);">+ca_list_file=<<astetcdir>>/ca.crt</span><br><span style="color: hsl(120, 100%, 40%);">+verify_server=yes</span><br><span style="color: hsl(120, 100%, 40%);">+allow_wildcard_certs=yes</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[uas]</span><br><span style="color: hsl(120, 100%, 40%);">+type=aor</span><br><span style="color: hsl(120, 100%, 40%);">+contact=sips:uas.example.com:5062\;transport=tls</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[uas]</span><br><span style="color: hsl(120, 100%, 40%);">+type=endpoint</span><br><span style="color: hsl(120, 100%, 40%);">+direct_media=no</span><br><span style="color: hsl(120, 100%, 40%);">+allow=!all,ulaw</span><br><span style="color: hsl(120, 100%, 40%);">+aors=uas</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/resolver_unbound.conf b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/resolver_unbound.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..38ef153</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/resolver_unbound.conf</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[general]</span><br><span style="color: hsl(120, 100%, 40%);">+nameserver = 127.0.0.1@10053</span><br><span style="color: hsl(120, 100%, 40%);">+resolv =</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.crt</span><br><span>new file mode 120000</span><br><span>index 0000000..9ada8f1</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.crt</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/uac.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.key</span><br><span>new file mode 120000</span><br><span>index 0000000..f141b2b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/configs/ast1/uac.key</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../../keys/uac.key</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/dns_zones/example.com b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/dns_zones/example.com</span><br><span>new file mode 100644</span><br><span>index 0000000..79a9c6e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/dns_zones/example.com</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+zone = [</span><br><span style="color: hsl(120, 100%, 40%);">+ SOA(</span><br><span style="color: hsl(120, 100%, 40%);">+ # For whom we are the authority</span><br><span style="color: hsl(120, 100%, 40%);">+ 'example.com',</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # This nameserver's name</span><br><span style="color: hsl(120, 100%, 40%);">+ mname = "ns1.example.com",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Mailbox of individual who handles this</span><br><span style="color: hsl(120, 100%, 40%);">+ rname = "root.example.com",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Unique serial identifying this SOA data</span><br><span style="color: hsl(120, 100%, 40%);">+ serial = 2003010601,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Time interval before zone should be refreshed</span><br><span style="color: hsl(120, 100%, 40%);">+ refresh = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Interval before failed refresh should be retried</span><br><span style="color: hsl(120, 100%, 40%);">+ retry = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Upper limit on time interval before expiry</span><br><span style="color: hsl(120, 100%, 40%);">+ expire = "1H",</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Minimum TTL</span><br><span style="color: hsl(120, 100%, 40%);">+ minimum = "1H"</span><br><span style="color: hsl(120, 100%, 40%);">+ ),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ A('uas.example.com', '127.0.0.1'),</span><br><span style="color: hsl(120, 100%, 40%);">+]</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/README.txt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/README.txt</span><br><span>new file mode 100644</span><br><span>index 0000000..642fdf0</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/README.txt</span><br><span>@@ -0,0 +1,16 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# certs generated using the following commands:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create CA</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -x509 -newkey rsa:4096 -nodes -keyout ca.key -out ca.crt</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server key and signing request</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -newkey rsa:4096 -nodes -keyout uas.key -out uas.csr -subj="/C=US/CN=uas"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server certificate</span><br><span style="color: hsl(120, 100%, 40%);">+openssl x509 -CAkey ca.key -CA ca.crt -in uas.csr -set_serial 01 -req -out uas.crt -extfile <(printf "subjectAltName=DNS:*.example.com")</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create client key and signing request</span><br><span style="color: hsl(120, 100%, 40%);">+openssl req -newkey rsa:4096 -nodes -keyout uac.key -out uac.csr -subj="/C=US/CN=uac.example.com"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# create server certificate</span><br><span style="color: hsl(120, 100%, 40%);">+openssl x509 -CAkey ca.key -CA ca.crt -in uac.csr -set_serial 01 -req -out uac.crt</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..2ea4f93</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.crt</span><br><span>@@ -0,0 +1,33 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIFpzCCA4+gAwIBAgIUSnDTD4tLBg1kDRv9d1AQFi+icoIwDQYJKoZIhvcNAQEL</span><br><span style="color: hsl(120, 100%, 40%);">+BQAwYzELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM</span><br><span style="color: hsl(120, 100%, 40%);">+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEcMBoGA1UEAwwTQXN0ZXJpc2sgUHJp</span><br><span style="color: hsl(120, 100%, 40%);">+dmF0ZSBDQTAeFw0yMjA1MTgxODQxMzZaFw0yMjA2MTcxODQxMzZaMGMxCzAJBgNV</span><br><span style="color: hsl(120, 100%, 40%);">+BAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX</span><br><span style="color: hsl(120, 100%, 40%);">+aWRnaXRzIFB0eSBMdGQxHDAaBgNVBAMME0FzdGVyaXNrIFByaXZhdGUgQ0EwggIi</span><br><span style="color: hsl(120, 100%, 40%);">+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDQ91BFnDYawMJvkOkICGlfwBZo</span><br><span style="color: hsl(120, 100%, 40%);">+jVSZrXvhZxtaAfJQunl6l20DUwiKcTUq8cfgYWbW/yCoi2V7UE7rmoz91Q9diGc1</span><br><span style="color: hsl(120, 100%, 40%);">+7VMZuEmEnj1x302O6Z3P3OIZepAv9/+lG6G+dL+DK+WfDeeErCpe5trN17elxNLZ</span><br><span style="color: hsl(120, 100%, 40%);">+//WqOqewyd3tSZpZ78N/SnHqDVZVykCb2zLvAvLAkjwbUlbOazyDFWIfmgwobnTn</span><br><span style="color: hsl(120, 100%, 40%);">+WrZ0YGlCllucGVv9JuZGJNerosKSbTCI7JsBgpSIhOSy2QmneW2XcugFnCdxs5wL</span><br><span style="color: hsl(120, 100%, 40%);">+rCdz8IWiNnS6gaaiPHvLDdy3mg5/5agqIXFC5Mufb8dn8GsLoCG0GB/wBKRpp6mS</span><br><span style="color: hsl(120, 100%, 40%);">+Oo3PkiO/lkl3O9k8qUTGkDtDA7VMD2FoJOXmAKQxdv87Fes3OWi5BeWuQx5CwST8</span><br><span style="color: hsl(120, 100%, 40%);">+rVGbTCK6dJz2OXz2JjUiDdfZFsNj1OhA2ZBQxbG5SMIq0lllkbZI6ZUdgJ9WH/aA</span><br><span style="color: hsl(120, 100%, 40%);">+dogXXv0TyZ2bBBHfgCNzKLLM5btDkIWCUpQMrTKas7x7iTgDaN3eRcgE85hSIcbu</span><br><span style="color: hsl(120, 100%, 40%);">+KaheMSGadTbX082UcXgqfEraMMYK2VeBFejAX6Afm83KU5/68OXqTMZak09Z3oxx</span><br><span style="color: hsl(120, 100%, 40%);">+BpxKYrkJY2RB7a5pTfo3mP8ZY6S5N8hrt80QSRWUxxmURprrMfcJAPjRnsref0yQ</span><br><span style="color: hsl(120, 100%, 40%);">+tpwGGnXXKbU8JBhuXQIDAQABo1MwUTAdBgNVHQ4EFgQUFJZuEX6W4jrGHM0ICy3c</span><br><span style="color: hsl(120, 100%, 40%);">+NIWiWRIwHwYDVR0jBBgwFoAUFJZuEX6W4jrGHM0ICy3cNIWiWRIwDwYDVR0TAQH/</span><br><span style="color: hsl(120, 100%, 40%);">+BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAxyGVraSV60i/cJgySoaem7FLte//</span><br><span style="color: hsl(120, 100%, 40%);">+66l3pvYYyfhwwa9IXMoitS4ZKIt9gzSrkvaR5ng5Xr9CPROqR1OtMdeu1BxzoSDz</span><br><span style="color: hsl(120, 100%, 40%);">+aeLajkATQT4I2tM4sPgLpKGqjvy+aHEf7tTR4lGlv3FHH81pbMUpDL4pSrRLlGEH</span><br><span style="color: hsl(120, 100%, 40%);">+EfbbzL56kiN2TjyBWtVaryLj+/M7lNaNdmBYAj/lvf24fBtiR5Lvdr3S609m4mHN</span><br><span style="color: hsl(120, 100%, 40%);">+RKCnbpQxHFD6iSHzA4x72XOTjrLbyhqFFclrowNl1FZy/ViNMsIG34hS/sxdKCc7</span><br><span style="color: hsl(120, 100%, 40%);">+GKYUIUPEQG7x71hHoLVA7OiKXzE1hF/JM0VnFCC6YO7al3jroEHVvYFFr7vtly4X</span><br><span style="color: hsl(120, 100%, 40%);">+i/8sJ/fGTsHyrcDyVEXufiw82GHFtKCRLOBmUlbJI7RfcipdVJz/jgJsQ7lwTIg5</span><br><span style="color: hsl(120, 100%, 40%);">+qScMIpuN2DAeAHZrXr3Y/zPceLBFmb7+s8Sh5dz/nGV7zr6v8ZbUE1WgCrbjz1rG</span><br><span style="color: hsl(120, 100%, 40%);">+q+yPglKlPwKbdsjaPrLmzemt98T+MnRd5Zn+lPjXEJO9Sg8s6HG1dKYK47te9J6J</span><br><span style="color: hsl(120, 100%, 40%);">+ae0y1wmjZW4SvLFp0xiZO6NVkrQl01qNQ2V832E8/hDKCSxtDXpIwiVRzLngAV8O</span><br><span style="color: hsl(120, 100%, 40%);">+KMYhvL2wie9+Ctlir1J7simSnl8PjHlgybjsOkDtTxXOa9d21a9WX4hEJeMaYoY0</span><br><span style="color: hsl(120, 100%, 40%);">+VAjSfvfMgg1Btu4=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.key</span><br><span>new file mode 100644</span><br><span>index 0000000..5e68175</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/ca.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDQ91BFnDYawMJv</span><br><span style="color: hsl(120, 100%, 40%);">+kOkICGlfwBZojVSZrXvhZxtaAfJQunl6l20DUwiKcTUq8cfgYWbW/yCoi2V7UE7r</span><br><span style="color: hsl(120, 100%, 40%);">+moz91Q9diGc17VMZuEmEnj1x302O6Z3P3OIZepAv9/+lG6G+dL+DK+WfDeeErCpe</span><br><span style="color: hsl(120, 100%, 40%);">+5trN17elxNLZ//WqOqewyd3tSZpZ78N/SnHqDVZVykCb2zLvAvLAkjwbUlbOazyD</span><br><span style="color: hsl(120, 100%, 40%);">+FWIfmgwobnTnWrZ0YGlCllucGVv9JuZGJNerosKSbTCI7JsBgpSIhOSy2QmneW2X</span><br><span style="color: hsl(120, 100%, 40%);">+cugFnCdxs5wLrCdz8IWiNnS6gaaiPHvLDdy3mg5/5agqIXFC5Mufb8dn8GsLoCG0</span><br><span style="color: hsl(120, 100%, 40%);">+GB/wBKRpp6mSOo3PkiO/lkl3O9k8qUTGkDtDA7VMD2FoJOXmAKQxdv87Fes3OWi5</span><br><span style="color: hsl(120, 100%, 40%);">+BeWuQx5CwST8rVGbTCK6dJz2OXz2JjUiDdfZFsNj1OhA2ZBQxbG5SMIq0lllkbZI</span><br><span style="color: hsl(120, 100%, 40%);">+6ZUdgJ9WH/aAdogXXv0TyZ2bBBHfgCNzKLLM5btDkIWCUpQMrTKas7x7iTgDaN3e</span><br><span style="color: hsl(120, 100%, 40%);">+RcgE85hSIcbuKaheMSGadTbX082UcXgqfEraMMYK2VeBFejAX6Afm83KU5/68OXq</span><br><span style="color: hsl(120, 100%, 40%);">+TMZak09Z3oxxBpxKYrkJY2RB7a5pTfo3mP8ZY6S5N8hrt80QSRWUxxmURprrMfcJ</span><br><span style="color: hsl(120, 100%, 40%);">+APjRnsref0yQtpwGGnXXKbU8JBhuXQIDAQABAoICACNhPB4NDLwK1uC80Dej9PNZ</span><br><span style="color: hsl(120, 100%, 40%);">+OnIJO8GpNcg8BM2Adt5kNB0ldjeR32hRModK2GSNGTRdjdH7h/sQ5cvOJwDzCd70</span><br><span style="color: hsl(120, 100%, 40%);">+MUVYITHBmfDyOcUF4cPImgePhlh5/9+fRZFW1FPCwIoc7Iu5dvFnlOTsgS9Izrcq</span><br><span style="color: hsl(120, 100%, 40%);">+U+jFBXsE409zXjfGtnNzvM3YdOED0RJFZBr/Sehdv2wLVlHp5vib/2rSPALNujE+</span><br><span style="color: hsl(120, 100%, 40%);">+QlzJZwrdJ/U2L9yGDqUV6PcHVdyhegAArK8CIFxpF2zl0zLUvGW2kW+K7O3GOodt</span><br><span style="color: hsl(120, 100%, 40%);">+uYXgZ+2hU37baXgKa4QcaXk/p5cOZlYRNB+t+dcxlagw7LoUYotdWVd8niutHYjX</span><br><span style="color: hsl(120, 100%, 40%);">+eQkIHpUWsex9feOJAkgWnI4T6RYPpEfblmjtLEVqwlbhekwUuby0QrLlzaX+1dEz</span><br><span style="color: hsl(120, 100%, 40%);">+y6cTVzf42iZ5u8BeDIdeIF1+BYK/bnjW8XdhjfnSt8n/D+hSZ1d0kMo0xFbKYnyB</span><br><span style="color: hsl(120, 100%, 40%);">+7HEFeM6dYc7AjqZSiyRTiMQHcOpFyZEzDppZw0OFV1drXXcmZQi/qYO0qVswJtON</span><br><span style="color: hsl(120, 100%, 40%);">+AdQT7HOJW6Jdxfu3bP56Sty15Z6xXZ1EaE3+HK0CK+HzZh63CXVsvOFjeFZCR3tx</span><br><span style="color: hsl(120, 100%, 40%);">+buQCguf/xCEB6qFZZHu8GSvAaRpYu1i96+ouZY/SWTzPb6Fa43N02sBXiudIWmhM</span><br><span style="color: hsl(120, 100%, 40%);">+2mkaUD0kb0nZa28HzDsBAoIBAQD2OIqktrb/aMEBFZ4FqwmMzdI0v3dUv/j3oXVx</span><br><span style="color: hsl(120, 100%, 40%);">+Ses18a9SJMX49LJm56s2o4H8iNPWx98XvpDORYxdeH+wOvgLunHWYFWwGDI9s+3K</span><br><span style="color: hsl(120, 100%, 40%);">+fJnHtTYWLlDQRT6piBqtrLvmDmOl5hLsHghCvz+IguqPrkHJCRt3zib/lg51oea5</span><br><span style="color: hsl(120, 100%, 40%);">+V/oKqAudRe3z1FvSp8rf+j/ijWV5X4iQZskQkaIzudTDdnuu82bK2XMHJmhdjyGu</span><br><span style="color: hsl(120, 100%, 40%);">+wdXH2RI9XAGAPA9DwP0XFr7XoG1pKUWA5nDwe86mscOnxxju6Ls6rwPDVZLjyLSP</span><br><span style="color: hsl(120, 100%, 40%);">+41xpcRPMdBn6Noyw04cOgbXky+thtIPlZ3H5gZZJLAKbE6BpAoIBAQDZQ/uPwh6K</span><br><span style="color: hsl(120, 100%, 40%);">+0RHKrFmDkOt6Hp8TJqm0oD+3QlXrC5Xak3ZtjBI0o23MDtLrfDmlXYHjm28wGYRO</span><br><span style="color: hsl(120, 100%, 40%);">+kJk8jxi7iF+uJGkCbPmY2AnIboDDR4BX1dQQ8RL8u+JXSVdD4LtVsRaNDZdk53kY</span><br><span style="color: hsl(120, 100%, 40%);">+ilSpQyLcdBGoCQDA1jZDcx6qTipDdtQ8aE2v6doXalGnI7m8/TVAPxKXTJvqFglF</span><br><span style="color: hsl(120, 100%, 40%);">+3WdVyHeWgcfvJ2T9nfaZAU3nQlGYvXRPOHfiCr69bB+VGMnDlM4+x+SveTFlb3hM</span><br><span style="color: hsl(120, 100%, 40%);">+3E/SwweARywumPbjF4rJVlBhjLmvw1pb1Z5+smEjfbGN6lrzIPDUuD5wCN7AAmNL</span><br><span style="color: hsl(120, 100%, 40%);">+TaAZclPatV/VAoIBAQCwOI16D89vg1DHbupXUi+Wl+R/nh1RCcitquA8QdRXGnAJ</span><br><span style="color: hsl(120, 100%, 40%);">+UYpjgPaCUgKnK2UoEeHT0d8oxlorV3l7mHeC8OGAu2MoNHB/hQHISZPCHWWOmnJo</span><br><span style="color: hsl(120, 100%, 40%);">+c6OhPD355hB6BqvAnsHRBZa7aU8uPmTBVjl8thIdSShgmaotuP8GT+aq9n1dzSHq</span><br><span style="color: hsl(120, 100%, 40%);">+4RbKMU26uh6oKRo6EkrzEF3UQ8xZ0HGPpcvSTWV+NHR4cCM0ldeSRpOr2M0hqIm2</span><br><span style="color: hsl(120, 100%, 40%);">+YrgsSFAAhQpe0QermgVUg5ZcCBIC/AlOIuJOnV+J9gWynXoK/p8P6iDY7rfAO48Z</span><br><span style="color: hsl(120, 100%, 40%);">+AGtrOkl9cRczWcCOTShdGG5h7KSVF5sxKY9/4A8pAoIBAFUsTYZB9288HtlxT3ZA</span><br><span style="color: hsl(120, 100%, 40%);">+bc/mCT6cvZLN76yMGNqYJBsYDClN7CUunHCOrykZ/g9R5QWxfZlBp5iVHz2aa3u5</span><br><span style="color: hsl(120, 100%, 40%);">+Lqk6JOCKkB7XMp6ck2X6tdm5PfWWTHc/wK+vVMKLa2VgkxKg7WTlSZfRQvdIFnaO</span><br><span style="color: hsl(120, 100%, 40%);">+Gg3h2aW/VG6ExtTE59Si1PkJessnxhO/3lrDqqDoMuQI1eTyZ30RPnlhHo2GlTsv</span><br><span style="color: hsl(120, 100%, 40%);">+jY23x+OU9YNt+3hZi1txihM0c+rtg3EG3iq5GP/Pajs6afBQdojpdiPLio95XYtw</span><br><span style="color: hsl(120, 100%, 40%);">+W2W5GbBVHldnuwNDA9hfoSC3UfchPuuG7wBPi3AczczWncOV9p0XUo3G1KilJTJs</span><br><span style="color: hsl(120, 100%, 40%);">+QDECggEABEJ11UTQGAkVn3+PO+eGNG9J1BhyLvPcIveSX+WMC6BbkXafm0R0K0WU</span><br><span style="color: hsl(120, 100%, 40%);">+FEhKPEtbJXNeBn2GmTBDhpeAy3tCY+8d5BXSV0r+UiXkRJH7IFkktDQ9QSK0HzMg</span><br><span style="color: hsl(120, 100%, 40%);">+YQV92HShQ2aOYwFq0Es/7E5gY4Fz/OFjL+snclQ0WjM3GiTHuW4IuRu0dVwzukji</span><br><span style="color: hsl(120, 100%, 40%);">+AnWZykRe5gIhADN6tO98LPK/rVBk0MmByFiVaz+NJyz9bDjgnrLi3tEf80JTAEOo</span><br><span style="color: hsl(120, 100%, 40%);">+41SejBULyxR16s6h/D4HiQrHJeSiam0tr0iDlYkpMf6r8I9FR/LRcfZjK4+OVS58</span><br><span style="color: hsl(120, 100%, 40%);">+QlR3v4Gv/pkn4W48dTIKIbHNFcBA3g==</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..4c28ff6</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.crt</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIE/jCCAuYCAQEwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMxEzARBgNV</span><br><span style="color: hsl(120, 100%, 40%);">+BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0</span><br><span style="color: hsl(120, 100%, 40%);">+ZDEcMBoGA1UEAwwTQXN0ZXJpc2sgUHJpdmF0ZSBDQTAeFw0yMjA1MTkyMTIyMTha</span><br><span style="color: hsl(120, 100%, 40%);">+Fw0yMjA2MTgyMTIyMThaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA91YWMuZXhh</span><br><span style="color: hsl(120, 100%, 40%);">+bXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqKqeIqa63</span><br><span style="color: hsl(120, 100%, 40%);">+rlx3c3bMNVLamCXB3b7HtYiTUqqXeKLIbT96sdCGb9VmK7VrLCdX11mUVQjSzvYm</span><br><span style="color: hsl(120, 100%, 40%);">+CmO2UwlgkKdHZztty95+/xfILUkz+gf7CYYGqvr5MYziQD+ss7oGjEfJoPB7tao0</span><br><span style="color: hsl(120, 100%, 40%);">+cPa1bcu+9V56CT7pvJazE7k/AjuHEGfjjXo6QkCi7GU+tl2R/27l7FHKo38E/I90</span><br><span style="color: hsl(120, 100%, 40%);">+eSD2t6vFAu6CHA6m4MVjhOJhQUyWMb+np0bogMznsnG+y/w7dyemTuVNZ5IdyGei</span><br><span style="color: hsl(120, 100%, 40%);">+qd+H5S9NsXbKSFhszWQImizvRxsLLEn2sl/oTJsGCzdCKU+bPRGHqj7l4u/f9mb4</span><br><span style="color: hsl(120, 100%, 40%);">+gD6ZZri6O51qW4EJ1du+qtczg+zBqOqONtJrCHkwmPAOgbU3TYNcUfwNyQBQBAc/</span><br><span style="color: hsl(120, 100%, 40%);">+Wfs0Ygj47rNHb7wknwsQP9+69GqadpBIOteLhU00cGBPzLLB9PP+J+gO2fn2HC0u</span><br><span style="color: hsl(120, 100%, 40%);">+iy70o31dsn0VT4oG8jY3LPI982XIM3JguWa68RA2YV2+aALhPOHwbv6V3OmaPHP1</span><br><span style="color: hsl(120, 100%, 40%);">+uXNBwR99U2GU4Hve1vcGuwqx91xwiy2pZR8KWIiv1dlA2Q8XORbdoEkqMafOatuq</span><br><span style="color: hsl(120, 100%, 40%);">+EqSgsin7jmWB6XiC7ZXodEEOETw5Wd0Rzo0aHfXZ8sYTWgtD6uuv7I0qdtmH5bIJ</span><br><span style="color: hsl(120, 100%, 40%);">+vKo0RyC3h+6M3ekKnWCtxwc+Y2t4FX9fMQIDAQABMA0GCSqGSIb3DQEBCwUAA4IC</span><br><span style="color: hsl(120, 100%, 40%);">+AQA7vReuw82GIqH3P5J7tCS9Gab9IpsOLgbRzyqEbuu6DC3GAuBoRvvpeJwi2x2z</span><br><span style="color: hsl(120, 100%, 40%);">+3X43VlYM7F7RyCQDau+KK4g3ZOAyWrHdbFqYhZlfJfPduIyt2Tk9k40uPM4vmIyV</span><br><span style="color: hsl(120, 100%, 40%);">+e9x/4gBRl4ecNFackv4wsa+CFe7jytgNshpbcT545HAaVqZ1syDYGb+14zqk7LRW</span><br><span style="color: hsl(120, 100%, 40%);">+opcfR8TDGUA9O2xLdfUOyiX9Q3V78S8ZEcB0+DeibZ21LKXASBLtcg6fmCLUfB74</span><br><span style="color: hsl(120, 100%, 40%);">+Bx22DTV8QqMEVf+7gVq7lq6wuJXLqS6dAi8x0QsoiazvnWF1DjHXMhpxiOmKI/Kn</span><br><span style="color: hsl(120, 100%, 40%);">+M+53YPXqVh4zVcRKP/vlV/duvzGrbjVo/fOiU915nCZLC7rKN5mFYAFO2yxn/XzO</span><br><span style="color: hsl(120, 100%, 40%);">+5uNBAxx5zjFzg6OX0uEFxol8M6Bn2Pj4CL2qeCc85A0PTsQWfIJ4h0TW+2Y3ARMX</span><br><span style="color: hsl(120, 100%, 40%);">+H5txNMRQ6NSx7pN8d+4UrQOn8toZsu0dvMyloNYzHv6oDWbAwWebWdDTHmyihH8B</span><br><span style="color: hsl(120, 100%, 40%);">+Ve5gOqGdklnq3WkAQys7CH2DF/QBU9OiHywuPwMZkFmPBw/Pn63zK0Lflf86zujQ</span><br><span style="color: hsl(120, 100%, 40%);">+7+y192rMwfNcdq1NiJLBSMUbCCVe+4bJ727tmuNPGrotBrG4OZ8nqLY9qHUMvTMb</span><br><span style="color: hsl(120, 100%, 40%);">+XWCsfLNuFF+w6t3X+hmVWUCjMitcHLUZfJHWVP/WdExQQw==</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.csr b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.csr</span><br><span>new file mode 100644</span><br><span>index 0000000..f0be497</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.csr</span><br><span>@@ -0,0 +1,26 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE REQUEST-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIEbDCCAlQCAQAwJzELMAkGA1UEBhMCVVMxGDAWBgNVBAMMD3VhYy5leGFtcGxl</span><br><span style="color: hsl(120, 100%, 40%);">+LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKoqp4iprreuXHdz</span><br><span style="color: hsl(120, 100%, 40%);">+dsw1UtqYJcHdvse1iJNSqpd4oshtP3qx0IZv1WYrtWssJ1fXWZRVCNLO9iYKY7ZT</span><br><span style="color: hsl(120, 100%, 40%);">+CWCQp0dnO23L3n7/F8gtSTP6B/sJhgaq+vkxjOJAP6yzugaMR8mg8Hu1qjRw9rVt</span><br><span style="color: hsl(120, 100%, 40%);">+y771XnoJPum8lrMTuT8CO4cQZ+ONejpCQKLsZT62XZH/buXsUcqjfwT8j3R5IPa3</span><br><span style="color: hsl(120, 100%, 40%);">+q8UC7oIcDqbgxWOE4mFBTJYxv6enRuiAzOeycb7L/Dt3J6ZO5U1nkh3IZ6Kp34fl</span><br><span style="color: hsl(120, 100%, 40%);">+L02xdspIWGzNZAiaLO9HGwssSfayX+hMmwYLN0IpT5s9EYeqPuXi79/2ZviAPplm</span><br><span style="color: hsl(120, 100%, 40%);">+uLo7nWpbgQnV276q1zOD7MGo6o420msIeTCY8A6BtTdNg1xR/A3JAFAEBz9Z+zRi</span><br><span style="color: hsl(120, 100%, 40%);">+CPjus0dvvCSfCxA/37r0app2kEg614uFTTRwYE/MssH08/4n6A7Z+fYcLS6LLvSj</span><br><span style="color: hsl(120, 100%, 40%);">+fV2yfRVPigbyNjcs8j3zZcgzcmC5ZrrxEDZhXb5oAuE84fBu/pXc6Zo8c/W5c0HB</span><br><span style="color: hsl(120, 100%, 40%);">+H31TYZTge97W9wa7CrH3XHCLLallHwpYiK/V2UDZDxc5Ft2gSSoxp85q26oSpKCy</span><br><span style="color: hsl(120, 100%, 40%);">+KfuOZYHpeILtleh0QQ4RPDlZ3RHOjRod9dnyxhNaC0Pq66/sjSp22Yflsgm8qjRH</span><br><span style="color: hsl(120, 100%, 40%);">+ILeH7ozd6QqdYK3HBz5ja3gVf18xAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEA</span><br><span style="color: hsl(120, 100%, 40%);">+SMiv45cnQfTdwyIXHB0TvWBG6UKZbT/j8RcPBsjHyU85Xc20fdXfSOqvFYc6VRN/</span><br><span style="color: hsl(120, 100%, 40%);">+bjH2HbvsYTEyMNY9iQ2UoDXRf53Uj9AzqakaQ+mhC8K7/4u4DjA4dCTMy+fFkSzT</span><br><span style="color: hsl(120, 100%, 40%);">+sCLQ7Uh9zvRIjimyWSFuEKWbBvCJzTvZteaOBZwDTfZ3JSYfuBuiPI8o0AHSqwZm</span><br><span style="color: hsl(120, 100%, 40%);">+OgSCu41mY1YQcbXWzOjpIR5AaYQDhriPVnPOsZsuojIUWT79dxYeyVfXJf8WVoYu</span><br><span style="color: hsl(120, 100%, 40%);">+eWJ+IkFivwzutUvPXOst2BHASugA0Jp8t7D8KBOZQGeeev891AYj0xRier8RbcrX</span><br><span style="color: hsl(120, 100%, 40%);">+uP5s936sK7JSJ7Pv1NqcLgLewR1sFWQP1M9JOBGl9kP3ASdRmRUgpsZIyoPD8YPj</span><br><span style="color: hsl(120, 100%, 40%);">+VfTgdoA1Ox8oU32lOTh+GXKfTmUc9NWj3rnBm8irca/QUw+QTjDPFR5d1w0p2Srh</span><br><span style="color: hsl(120, 100%, 40%);">+Hz8tSCqabx16TPyxBCNQEpOxvUb3/ArQYvFomE9S/gsRmTu6sezUSVvv84+JuIGX</span><br><span style="color: hsl(120, 100%, 40%);">+Sz6ljJJ1iCJt26DWvRpbsz8Le6xgXU6tmVKwWTR5sgEQO/VISSob0153npFGr30j</span><br><span style="color: hsl(120, 100%, 40%);">+DAHL3er2bSX2hEfek6j1BYVasY3mxUN1Pb9mby4PH24O802KX2OmzKEY8gZAvigA</span><br><span style="color: hsl(120, 100%, 40%);">+wX6n01kmVoFfvcTIK+Fiv7ZQUu3uS8wqNEZ7GlE6Gaw=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE REQUEST-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.key</span><br><span>new file mode 100644</span><br><span>index 0000000..0850b03</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uac.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCqKqeIqa63rlx3</span><br><span style="color: hsl(120, 100%, 40%);">+c3bMNVLamCXB3b7HtYiTUqqXeKLIbT96sdCGb9VmK7VrLCdX11mUVQjSzvYmCmO2</span><br><span style="color: hsl(120, 100%, 40%);">+UwlgkKdHZztty95+/xfILUkz+gf7CYYGqvr5MYziQD+ss7oGjEfJoPB7tao0cPa1</span><br><span style="color: hsl(120, 100%, 40%);">+bcu+9V56CT7pvJazE7k/AjuHEGfjjXo6QkCi7GU+tl2R/27l7FHKo38E/I90eSD2</span><br><span style="color: hsl(120, 100%, 40%);">+t6vFAu6CHA6m4MVjhOJhQUyWMb+np0bogMznsnG+y/w7dyemTuVNZ5IdyGeiqd+H</span><br><span style="color: hsl(120, 100%, 40%);">+5S9NsXbKSFhszWQImizvRxsLLEn2sl/oTJsGCzdCKU+bPRGHqj7l4u/f9mb4gD6Z</span><br><span style="color: hsl(120, 100%, 40%);">+Zri6O51qW4EJ1du+qtczg+zBqOqONtJrCHkwmPAOgbU3TYNcUfwNyQBQBAc/Wfs0</span><br><span style="color: hsl(120, 100%, 40%);">+Ygj47rNHb7wknwsQP9+69GqadpBIOteLhU00cGBPzLLB9PP+J+gO2fn2HC0uiy70</span><br><span style="color: hsl(120, 100%, 40%);">+o31dsn0VT4oG8jY3LPI982XIM3JguWa68RA2YV2+aALhPOHwbv6V3OmaPHP1uXNB</span><br><span style="color: hsl(120, 100%, 40%);">+wR99U2GU4Hve1vcGuwqx91xwiy2pZR8KWIiv1dlA2Q8XORbdoEkqMafOatuqEqSg</span><br><span style="color: hsl(120, 100%, 40%);">+sin7jmWB6XiC7ZXodEEOETw5Wd0Rzo0aHfXZ8sYTWgtD6uuv7I0qdtmH5bIJvKo0</span><br><span style="color: hsl(120, 100%, 40%);">+RyC3h+6M3ekKnWCtxwc+Y2t4FX9fMQIDAQABAoICAFXJISKNYG5rMWRqyjYSn81h</span><br><span style="color: hsl(120, 100%, 40%);">+rI86ieZGRy72Gtg30eC26qyhHd3YXT2fxVrdLIxlHVzhLYyRF5h/3lrZK74Jzrr5</span><br><span style="color: hsl(120, 100%, 40%);">+eQVWJLnjQgsBgYj5gLJ2z6Fm6xVbfInHGBKpnJuWds5YG0RShhbf6A/45SFEs7dU</span><br><span style="color: hsl(120, 100%, 40%);">+F+pfz51B0T7Jklb511XpSfg61DkOcdAWwb9LhY3WADnnCK7r4Co4snyOhcLRQopH</span><br><span style="color: hsl(120, 100%, 40%);">+OL+6Suhr4nBjKggB1nvfoaiu3h3kYOFuFp+n5045MfI+x3PKRyzC9NSenqVNVPSP</span><br><span style="color: hsl(120, 100%, 40%);">+WjynosmPaB3Mu/56+mKq9By5GeIHH3l0OBSryb2Z/xGHwaQnpSucA3L0TSZdzXIx</span><br><span style="color: hsl(120, 100%, 40%);">+UW6l3ArZZyAmJJQQ5wozjLgrA7zH3N1mD0pzCyG2fAWEMCSUB5FW7QUj4WkG3JXi</span><br><span style="color: hsl(120, 100%, 40%);">+nYyT4axEcXUWr66M8eXTl7c3fq/sKQl3M+nGkS8Mg2Mz3VFpctqtSRBl45GgYp1e</span><br><span style="color: hsl(120, 100%, 40%);">+6yVNUsT5EC10bB+RdKFad5a7MSsYPr3QtB7xAIYGX22l+k6WbTY3Wr8ftrIrwE0e</span><br><span style="color: hsl(120, 100%, 40%);">+/cN0AciiuJX2BD+DL3bF3V/YfO3TeboZMz8q/jd4barUKmiefCM4bzMIoaeDzxz2</span><br><span style="color: hsl(120, 100%, 40%);">+NCfrroih6xY3hG523/80FBYmX2ehqMNBQx430huSyPTZ+VWRH0558qHMhmNtxGvV</span><br><span style="color: hsl(120, 100%, 40%);">+ikzL5ChOBRVvyxgIosNNAoIBAQDYTzixQ2lok4WrWnk6G0A3ubl0cvfv7469ECz5</span><br><span style="color: hsl(120, 100%, 40%);">+ke6O0L7aZMF1onT10iA/x81iZCzeauXBR3bn+Q+CIzlHARZ5FT8PZQTLN+UlRH93</span><br><span style="color: hsl(120, 100%, 40%);">+sjtqACP7FKoq424hsLKl/TTqNR6CChz1xoBG9nGpWjvtv7JdVG7rhdJ7ChK4JjE8</span><br><span style="color: hsl(120, 100%, 40%);">+QIk5VVBEFr7Y+3WndMhTUeDLW8GAZdL48yYCRXzcXLgRCkq4sESWKLI2Ub3EG0/1</span><br><span style="color: hsl(120, 100%, 40%);">+amJbCWZczNGIJV67eRHqu0dSmw4qXtXoi+qoDj1JCedqchi+ukSp1A8NdwMK0tk/</span><br><span style="color: hsl(120, 100%, 40%);">+xJfDJl6y4RX+qHMHWIwprPg6nLFikAXh+mXnG8ZSVnpkqAAzAoIBAQDJY/MSLfEX</span><br><span style="color: hsl(120, 100%, 40%);">+cmHc56dFD3votj6UCGR5Cr+LxBWVcZbo0h/AFL5ypzr8yTjygyYLasSBIKdbrIXm</span><br><span style="color: hsl(120, 100%, 40%);">+1JydZI7vcgnxEwnmaDHK6o5fVCfMzW3OVkHUSLjjGULTGyxnTDuwWCkAJ6Jy9KTe</span><br><span style="color: hsl(120, 100%, 40%);">+fVzwl8dlXT2iiTnUfm6kwNR0qCnqRc8T9be0bILxQrSte1oVP3W5SpIVu7JELRwj</span><br><span style="color: hsl(120, 100%, 40%);">+9dLP5k08UktokCug+Si1f+QRwdo7Cf5canD2ov3e1vq6sgExiLDr4GPCUKJp0bZS</span><br><span style="color: hsl(120, 100%, 40%);">+nsftu41s2nrS8SbO+FyasEKyfX9zRr5duvJUdiipMMiHVM31BPnq6INQGFMHP8j8</span><br><span style="color: hsl(120, 100%, 40%);">+NsmwhGA2yi8LAoIBAE+zwRvvzuMtmE8vIwP6Dot574+s3RaXmmynjSrYTqJo4Cnw</span><br><span style="color: hsl(120, 100%, 40%);">+figuGBKLvj5CDLd4WeAKW2YAQxvudXxqJiy3heRPo9C0VDPdAJ3ew2kDT0kbjCZz</span><br><span style="color: hsl(120, 100%, 40%);">+0s/CxU28odbvmZPCxt77gvg8j/+VxwOzr+lGfR5OgiBeStPzPjqEOBgPX4C0osKz</span><br><span style="color: hsl(120, 100%, 40%);">+7tZcsVlmennY7Y+A26fH3RjF3vdvSzaXI2uD80xiBqOdkyzYqaecuLWg4WTR7dm7</span><br><span style="color: hsl(120, 100%, 40%);">+zmjv/Bvv3F41a25Qm8OY9hCdnXUW6hYDhDWAnQWJ9MruzC0V8RUH4+zPL2xEsxgO</span><br><span style="color: hsl(120, 100%, 40%);">+P+B5iQjn451nkn9mRSYgE0rUzL9/SHAGVUrJbGkCggEBAIplOkw68BxJyYDSXPuz</span><br><span style="color: hsl(120, 100%, 40%);">+iVZBrz1xiwI3Zax5ws9hMPCsPY91ce8+huXirlTR1Zow8/s84mW4aIhZgYsT6LoZ</span><br><span style="color: hsl(120, 100%, 40%);">+50UY7Uu+PMGScOaH4ZX3ckdCtZhZpVzDJk4GtXwDQl2MKBjoI9XV01rmUbEwzKEW</span><br><span style="color: hsl(120, 100%, 40%);">+81036lrhy81Cin3kdnF9KbIwwN6nV1DOo3U4eI5zfsYnvb5br0T0rwrzSrz+KgOT</span><br><span style="color: hsl(120, 100%, 40%);">+Fik0Mhc8QkKAMc4WJo897eO6bgi/t7Ckkccsvm843UQrfsKxQPtxV1btsLzpj2XH</span><br><span style="color: hsl(120, 100%, 40%);">+unItsJq4yIKxMBSS87vXWMj2yMNMM+MZGCUQHT0M/2X0BRFMtfocVlUknXPFdI0S</span><br><span style="color: hsl(120, 100%, 40%);">+YkMCggEAaqRVIe+nhZl99IFZtyS7ElHsYvNzBiooJkbMb/P/BdhcmqMjDvK/WJtJ</span><br><span style="color: hsl(120, 100%, 40%);">+ljsanBbxX7ufcKIwfzjkqzr10Iclgyb7vuuZl4f8JXKUARBasLc7zgh1+gE6A/Ts</span><br><span style="color: hsl(120, 100%, 40%);">+Tx/9ce1kQr74dmlAws9CEqF++wP9niiBgEaF8WgnCWLE9GAysbAhj2lKnMi0aUm4</span><br><span style="color: hsl(120, 100%, 40%);">+kTRr7zbfKB/wvlkVsi1SVESGVFxXOkZJLnp0lL8ofw8iS7OehiZuVs78Xf2kGu2f</span><br><span style="color: hsl(120, 100%, 40%);">+zfIdMXUUYlnCv8khyM6RT4TpkGTsBkHK+C06advxQeJTGMFMQzUJuoIKAFX1FkDy</span><br><span style="color: hsl(120, 100%, 40%);">+JT7j8iLJP3V7rE3Ag17AuC80ximkXA==</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.crt b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.crt</span><br><span>new file mode 100644</span><br><span>index 0000000..26c77bd</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.crt</span><br><span>@@ -0,0 +1,30 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIFFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzET</span><br><span style="color: hsl(120, 100%, 40%);">+MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ</span><br><span style="color: hsl(120, 100%, 40%);">+dHkgTHRkMRwwGgYDVQQDDBNBc3RlcmlzayBQcml2YXRlIENBMB4XDTIyMDUxOTIx</span><br><span style="color: hsl(120, 100%, 40%);">+MjYwNFoXDTIyMDYxODIxMjYwNFowGzELMAkGA1UEBhMCVVMxDDAKBgNVBAMMA3Vh</span><br><span style="color: hsl(120, 100%, 40%);">+czCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAN31uQPNJmQMut+OiAzh</span><br><span style="color: hsl(120, 100%, 40%);">+4z1cviFeKoWUrqcBETz7qbmas7u2Kdcyd/UC8hCmG4DgB3n02JyBrOna8Rm/InVf</span><br><span style="color: hsl(120, 100%, 40%);">+ZPEZ2P5C++1M3rL4phATGNtzWAta8qjXYC5fdpnwk3Ehqri6L/DQfU/jWOUU+F3D</span><br><span style="color: hsl(120, 100%, 40%);">+GMlnsA1le4nSTycvM6xy+Lk43/6aVPtzVI6UWuAVwntYuUIb0wjGknM9C9sgVe6D</span><br><span style="color: hsl(120, 100%, 40%);">+kTfREv+y8jtYkGbDlrWWvm8YU2v4aFGCgW7YoxjxJiJiWDRHu9V2NZxjUgSl6k8+</span><br><span style="color: hsl(120, 100%, 40%);">++4JqzRHP2+e+K4vWERepGODK8WnEm/30Br+tEDHhK84GYmkE/PK0Yy9UPK4WAplZ</span><br><span style="color: hsl(120, 100%, 40%);">+rjdkDU9d/mz74XKEug+qMLT4QnEcuko+M/JH+AYM7NC1B/QxvvaEvkmuYIMKWrtM</span><br><span style="color: hsl(120, 100%, 40%);">+MAxSXy3m+aAb07I0KeRIPP/E3mmTZYU2rGU1eFNg7bfsMBO8D0bevHFFYYS9816R</span><br><span style="color: hsl(120, 100%, 40%);">+XEze2BWmo1LXBWctwqkk6VMCvJOAV7yVod0yNxtTK1CDnwLwpCgK+IK4AFShh2p5</span><br><span style="color: hsl(120, 100%, 40%);">+8vakduqtxNL2e2DIeTUz1qA7wuG+pAQF73xcknkeiKTlIsoIRlgNUwSAA9b9Igsw</span><br><span style="color: hsl(120, 100%, 40%);">+ieKRA7ZH8/LN4nsLOzOZ/h/kw9vC1VrJnV+7hzZjPXiL+N429XVfiyzBCLVIr3ca</span><br><span style="color: hsl(120, 100%, 40%);">+xl2I2D1A55Z2orD6jdjPbQrlAgMBAAGjHDAaMBgGA1UdEQQRMA+CDSouZXhhbXBs</span><br><span style="color: hsl(120, 100%, 40%);">+ZS5jb20wDQYJKoZIhvcNAQELBQADggIBALv1luzL0z5TFBrsv101uLhvfRYgbNtb</span><br><span style="color: hsl(120, 100%, 40%);">+r1CUO8Axpy+lzlRR+JxJJgbIt3SvGm/VeCKI5RjrKt3nVWnJfVG3g6X2OcJakoPt</span><br><span style="color: hsl(120, 100%, 40%);">+ojtvM4cgTleKKgelyS8HeqgrbKfmZcEzfvTQA+/vTN4TlY5nU/xJ7EC4/ihwUNoN</span><br><span style="color: hsl(120, 100%, 40%);">+3Kd+d9WzYGQe+yxWesRz+o0DKtg9RpzicECN2X/UoMwd3hOh8dcmzLlvuTz+UW1M</span><br><span style="color: hsl(120, 100%, 40%);">+bdeLV6bYgxRB2BIEPmeVxALUIqjOYAg3siQvk1poz7rMg5veLXVTor4RbsgxUepC</span><br><span style="color: hsl(120, 100%, 40%);">+pNsuPbtTm2MGHLwEFOGYloxvnU1XmPr86iprniQ3aQtJHCzt8IbTaF9M/G2wzHC2</span><br><span style="color: hsl(120, 100%, 40%);">+Qcsr79O4GIj/RyvgHCOhmhSLGIFmGSlU8W2TLG40c6WSS8padaD035qWiUrusRzG</span><br><span style="color: hsl(120, 100%, 40%);">+twk7bh4iPcfQnZ+FUUnjjqPUPnDI5dV3rLd5nfTvfi5Uq3r3yh0sAdcYMYefQD2n</span><br><span style="color: hsl(120, 100%, 40%);">+IQe0DYtYl2ABrxtp5Dj7Xpj2ZCrK3n1eUN7qpQeTcpTUHWvOz9aotN+KafxslSsN</span><br><span style="color: hsl(120, 100%, 40%);">+qmf5/3E8YLlJdkyL8DZzhbEnOksHyyeMmcgMwpL4S5Nucqe9eUanBoVPSeTOVvmA</span><br><span style="color: hsl(120, 100%, 40%);">+wiVfEu0YG/FZiVZAMOOoWaGO79Ma/TatLSSkzEcYGsh3uS/LFdIFKT1X4FvQSuw4</span><br><span style="color: hsl(120, 100%, 40%);">+PMfm+Tq5nqhk</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.csr b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.csr</span><br><span>new file mode 100644</span><br><span>index 0000000..78b1f5b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.csr</span><br><span>@@ -0,0 +1,26 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN CERTIFICATE REQUEST-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIEYDCCAkgCAQAwGzELMAkGA1UEBhMCVVMxDDAKBgNVBAMMA3VhczCCAiIwDQYJ</span><br><span style="color: hsl(120, 100%, 40%);">+KoZIhvcNAQEBBQADggIPADCCAgoCggIBAN31uQPNJmQMut+OiAzh4z1cviFeKoWU</span><br><span style="color: hsl(120, 100%, 40%);">+rqcBETz7qbmas7u2Kdcyd/UC8hCmG4DgB3n02JyBrOna8Rm/InVfZPEZ2P5C++1M</span><br><span style="color: hsl(120, 100%, 40%);">+3rL4phATGNtzWAta8qjXYC5fdpnwk3Ehqri6L/DQfU/jWOUU+F3DGMlnsA1le4nS</span><br><span style="color: hsl(120, 100%, 40%);">+TycvM6xy+Lk43/6aVPtzVI6UWuAVwntYuUIb0wjGknM9C9sgVe6DkTfREv+y8jtY</span><br><span style="color: hsl(120, 100%, 40%);">+kGbDlrWWvm8YU2v4aFGCgW7YoxjxJiJiWDRHu9V2NZxjUgSl6k8++4JqzRHP2+e+</span><br><span style="color: hsl(120, 100%, 40%);">+K4vWERepGODK8WnEm/30Br+tEDHhK84GYmkE/PK0Yy9UPK4WAplZrjdkDU9d/mz7</span><br><span style="color: hsl(120, 100%, 40%);">+4XKEug+qMLT4QnEcuko+M/JH+AYM7NC1B/QxvvaEvkmuYIMKWrtMMAxSXy3m+aAb</span><br><span style="color: hsl(120, 100%, 40%);">+07I0KeRIPP/E3mmTZYU2rGU1eFNg7bfsMBO8D0bevHFFYYS9816RXEze2BWmo1LX</span><br><span style="color: hsl(120, 100%, 40%);">+BWctwqkk6VMCvJOAV7yVod0yNxtTK1CDnwLwpCgK+IK4AFShh2p58vakduqtxNL2</span><br><span style="color: hsl(120, 100%, 40%);">+e2DIeTUz1qA7wuG+pAQF73xcknkeiKTlIsoIRlgNUwSAA9b9IgswieKRA7ZH8/LN</span><br><span style="color: hsl(120, 100%, 40%);">+4nsLOzOZ/h/kw9vC1VrJnV+7hzZjPXiL+N429XVfiyzBCLVIr3caxl2I2D1A55Z2</span><br><span style="color: hsl(120, 100%, 40%);">+orD6jdjPbQrlAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEAYTcECHuJFKG9Meod</span><br><span style="color: hsl(120, 100%, 40%);">+iFnUGr8FvGsQhcR9+xnuHNPgMvxX4W2bU3ANuL5tiXBvS7JaAhCmADb1dnfoa9sH</span><br><span style="color: hsl(120, 100%, 40%);">+vxjDkep4Eo0EXEdirXO6HdjrnEXAdpqRW5Wl8v9SZA+I4wW0LgBHYj+x927x5In1</span><br><span style="color: hsl(120, 100%, 40%);">+6XjXnknznjiTryEwRA+A5/132vjBQ0qgW51roEFH+OmdEuFPaDyGvftvW536RNT5</span><br><span style="color: hsl(120, 100%, 40%);">+hTNxOOpn/zOd5hO7kZXyf1aK6AC7yukyP9kZmEfc2NmmThSeQUK40qUEZUHtIOxN</span><br><span style="color: hsl(120, 100%, 40%);">+dARiFWR8BHodr+F/JtnZasQ9M4KzzcZy3VfSqgcCf+kPWOJWuqnoYvxsEp4gi2PN</span><br><span style="color: hsl(120, 100%, 40%);">+gvjOoJRqeGgNeFQdT37rIJin6Xli0jjEPV5yGfVNaCywB25kjZ+t5xxmxekSAmWR</span><br><span style="color: hsl(120, 100%, 40%);">+rFGylX8F5nIC7IlTJ+9aiEbQ4PRI5Sxhoka04teLIW5EN0kYRPM4AUOVRSMn1KIN</span><br><span style="color: hsl(120, 100%, 40%);">+RsB8Rp/lq7W0BSuqOikV+pTN3VtT1110IzJbOA7E70wuSzMs09VoFYt9Ws1LYFYM</span><br><span style="color: hsl(120, 100%, 40%);">+ICqI2/EiGqkQIN6t+NRifKtUOQ/SDYG50Gcur5XpXXcSaGK7/cPZcM9b1CtRsGQd</span><br><span style="color: hsl(120, 100%, 40%);">+zVCK7PIqiS8zdTetm80asNjPztLWMJsLgYVuxcjjIW0OI1+9riaWBH+q5o+TX6t7</span><br><span style="color: hsl(120, 100%, 40%);">+3vXuDIfvCC+aeqIH7D7eZfppunA=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END CERTIFICATE REQUEST-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.key b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.key</span><br><span>new file mode 100644</span><br><span>index 0000000..d479201</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/keys/uas.key</span><br><span>@@ -0,0 +1,52 @@</span><br><span style="color: hsl(120, 100%, 40%);">+-----BEGIN PRIVATE KEY-----</span><br><span style="color: hsl(120, 100%, 40%);">+MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDd9bkDzSZkDLrf</span><br><span style="color: hsl(120, 100%, 40%);">+jogM4eM9XL4hXiqFlK6nARE8+6m5mrO7tinXMnf1AvIQphuA4Ad59Nicgazp2vEZ</span><br><span style="color: hsl(120, 100%, 40%);">+vyJ1X2TxGdj+QvvtTN6y+KYQExjbc1gLWvKo12AuX3aZ8JNxIaq4ui/w0H1P41jl</span><br><span style="color: hsl(120, 100%, 40%);">+FPhdwxjJZ7ANZXuJ0k8nLzOscvi5ON/+mlT7c1SOlFrgFcJ7WLlCG9MIxpJzPQvb</span><br><span style="color: hsl(120, 100%, 40%);">+IFXug5E30RL/svI7WJBmw5a1lr5vGFNr+GhRgoFu2KMY8SYiYlg0R7vVdjWcY1IE</span><br><span style="color: hsl(120, 100%, 40%);">+pepPPvuCas0Rz9vnviuL1hEXqRjgyvFpxJv99Aa/rRAx4SvOBmJpBPzytGMvVDyu</span><br><span style="color: hsl(120, 100%, 40%);">+FgKZWa43ZA1PXf5s++FyhLoPqjC0+EJxHLpKPjPyR/gGDOzQtQf0Mb72hL5JrmCD</span><br><span style="color: hsl(120, 100%, 40%);">+Clq7TDAMUl8t5vmgG9OyNCnkSDz/xN5pk2WFNqxlNXhTYO237DATvA9G3rxxRWGE</span><br><span style="color: hsl(120, 100%, 40%);">+vfNekVxM3tgVpqNS1wVnLcKpJOlTAryTgFe8laHdMjcbUytQg58C8KQoCviCuABU</span><br><span style="color: hsl(120, 100%, 40%);">+oYdqefL2pHbqrcTS9ntgyHk1M9agO8LhvqQEBe98XJJ5Hoik5SLKCEZYDVMEgAPW</span><br><span style="color: hsl(120, 100%, 40%);">+/SILMInikQO2R/PyzeJ7Czszmf4f5MPbwtVayZ1fu4c2Yz14i/jeNvV1X4sswQi1</span><br><span style="color: hsl(120, 100%, 40%);">+SK93GsZdiNg9QOeWdqKw+o3Yz20K5QIDAQABAoICAQCtVtH3awZZSivCnQAY92vM</span><br><span style="color: hsl(120, 100%, 40%);">+pxoA2xZgHd5LpCS/OFazEWLd7IQ+gDZ4TKWYZPDDs7GDB7kGeKr+MrLphYA2o5ok</span><br><span style="color: hsl(120, 100%, 40%);">+RChXYR53kvm0UUT29sMJ1slijNNHEnQVow3vaJbs2fsGqrj32wqSEh2BQeA48Tzx</span><br><span style="color: hsl(120, 100%, 40%);">+RR2TSLayymBwXIeBXIRrukQMBKDrgoT9mFRj/fpU89QyEaK8jr8eagVRSq5xR6Ro</span><br><span style="color: hsl(120, 100%, 40%);">+L8ojkK9ls2OKLaMMCz6Lajbz8hod1cqZM2wj9WfvoFf79C13pgp2KIaMBLq4ypoG</span><br><span style="color: hsl(120, 100%, 40%);">+nrup9mdpUvWVDkdo7/Dy1Oq1zAp6yFFg7ZnhKlVYX1oJZBDaxg9TjfiZh6zd79CC</span><br><span style="color: hsl(120, 100%, 40%);">+Epb4XGrviGL1x4AfRUlz53rmyQVsa1HEpKk2YR1fdW98E5ZqeEmU9E2ZApmuqTOE</span><br><span style="color: hsl(120, 100%, 40%);">+JTgYu0NgJ5JOQ9BtFX4BO5FOiNoFm5Y82d8wUizJaM3koapwnoPiIe4gitR5EyGT</span><br><span style="color: hsl(120, 100%, 40%);">+a9ig0PmuSF+MgGgUPm6aXJf0VJP6gzzUiFqsnpDGuih93M20qn6NLpGBDXBwJO74</span><br><span style="color: hsl(120, 100%, 40%);">+p+MQBIRnAvf2/1/KCWU4g2Kk3wUFdkbrzeNgIHG6KSlCmaBdiMYaAAwau3GvZAQw</span><br><span style="color: hsl(120, 100%, 40%);">+y7NJplImsAuXa1NlWgUDvkXQOgL8lT3ZMjLc6fY7RKZvH6ArZbnPQJ8QCNS81bUg</span><br><span style="color: hsl(120, 100%, 40%);">+VjY2pMX+r8xa2oErSnr6HQKCAQEA/Ls1VgsuQTOgWg7Oef4hBm40Kn/udMt4mpiv</span><br><span style="color: hsl(120, 100%, 40%);">+Fm3a054CIYZ/cw4mrCYF/qPCb7CDPSMzr1ONZyNo6IeabG5lSkcOWY3az4BmIR/n</span><br><span style="color: hsl(120, 100%, 40%);">+5ykl0XxTJLRFQcH8JZJZqiNjKvBeE0D6wQ1UTbyHgGUYdRGwtwIViSwFCoMEjivE</span><br><span style="color: hsl(120, 100%, 40%);">+jaimnjONsHPPNCUm7FI5SeB3H1sc+kZQH9DyX07jRIFsaVs2/WEsFIx8CHufK4Cf</span><br><span style="color: hsl(120, 100%, 40%);">+DNu8IAj2jve1CoT3peGBaWxOVI12fa1B4/lt7Azg7r9GnXS6MR3T+6373YpPT7Ss</span><br><span style="color: hsl(120, 100%, 40%);">+2rQcFRQyxVFtIGuNdvG9H8Woe+gUx0wJckxya2cG6fpeVk64SwKCAQEA4NShX9TQ</span><br><span style="color: hsl(120, 100%, 40%);">+YbQY810qs/AWV+ckzXko3n//zMPJaej2QbHie3KpUwCD72x5tqoqgqTaQ69wxQK5</span><br><span style="color: hsl(120, 100%, 40%);">+sWuL70BOwsb98qsIfATrjdyrdoBp6INvAiGrwXX0ctM/7jHNcV9ALC6G+YHNyQIA</span><br><span style="color: hsl(120, 100%, 40%);">+yW3nMfoPXICNfLM4QIGl/agCIBG8iHiEt7tRSnmOjZeknfb3OrGm0tji7c+1T8Ch</span><br><span style="color: hsl(120, 100%, 40%);">+cfroNVmMbsByeqSsVm+4ti3h9ZtVMM1+Snz/wseUsegcashDD/gMVI7P+7BC38aI</span><br><span style="color: hsl(120, 100%, 40%);">+5IYj40deKpjS/anKDlBrBUBsfXf6YteDmDO8NG/DQGIJd3cJaCC+geNCxaqcADOD</span><br><span style="color: hsl(120, 100%, 40%);">+2bgv8KyUKM6rjwKCAQEAisIGQJ2W4bmEmq1yc8wxOaScA5GFzJ5CMy8NQlVCRdmE</span><br><span style="color: hsl(120, 100%, 40%);">+9f8wTm1Akle2Bt7GTCgvhgujvukyw6PPX4vEHzBlcGie2lBmCHNIn3szCdmvp9qI</span><br><span style="color: hsl(120, 100%, 40%);">+k6heNgJZfA9kJ2OSeOrL2+pbQk8dMCkIhFf9G5mA2pnMVSnUArd4cs5Y9iXYhRds</span><br><span style="color: hsl(120, 100%, 40%);">+/ao34ztaqXljdspE3PRbbpXYO/+ucuGPKfedHCM2h9soJogTOV0WQP43VQn3uebx</span><br><span style="color: hsl(120, 100%, 40%);">+6ADcZ1Al3+916/nI7+dTXSEZAh/aWDWh8bMXBDAoYfssfgxCMppTfUGHffRRTslu</span><br><span style="color: hsl(120, 100%, 40%);">+LqPMNHaYjuuemKkfHhiH//whW53ZXFqOkzwhO2WxDQKCAQAs09h1Lg56XJlY9KuO</span><br><span style="color: hsl(120, 100%, 40%);">+AwHBdxHMcirm6iiLoEHpfwySnrAkowEFzqV/uGYwOI+PSuVF95YJgfiaWnIlOvI5</span><br><span style="color: hsl(120, 100%, 40%);">+Pcnmd5mSeLyqpWP+la4IMSSSDTqcsTMTLfGiQYXP5Aj8hi5dUzc/q8mSX/pn6Y7k</span><br><span style="color: hsl(120, 100%, 40%);">+h7EuOuGtYuxAvh3mXQL1RupXY97adZApxSGKaXJz3nX/tkTQ28gv5Z2LB1cDRB6O</span><br><span style="color: hsl(120, 100%, 40%);">++ooYz/qYpV/z2wQhn14GBAL5QSERqg+IxVndJJ7ScUesGGl5qnQ6/+/NeL1xFIq+</span><br><span style="color: hsl(120, 100%, 40%);">+/YecEh16ayhbfLPk9GYVDRls4GvXHK2WibWPf0l93IF/jluC4/iExcC1SVctqotD</span><br><span style="color: hsl(120, 100%, 40%);">+86kbAoIBABQcYw7AsQc5V/3KzOxQmKkPL/AWOqdNSa7G8l5YNISubquhWp8xGQsD</span><br><span style="color: hsl(120, 100%, 40%);">+jRgcao7hEZcwYi+HygQu2SH6MWsLOumrBb7rDvagrKxz2Y6ur5XZAMlOivHtDREq</span><br><span style="color: hsl(120, 100%, 40%);">+c4RvWRksx5iU/6v6kioeLQHEo6k2a1mucco6Osg7pL4B7WYj0sLfFijMRpmUq7X/</span><br><span style="color: hsl(120, 100%, 40%);">+MifCzf76tAO4F99glbyv2iqwvIwvDOmFa7Z/Cp26s9otXrdpOeMe4sfRC6PPY6TL</span><br><span style="color: hsl(120, 100%, 40%);">+MBaqkjUcz3rmcUC0/oJO9I/i2jlITgWEp5Gvm+zBwM36PjwUl43Gnrlzsgvvvp3O</span><br><span style="color: hsl(120, 100%, 40%);">+mhzD3hI/tUtx0NSIioknJdEh55j8NT4=</span><br><span style="color: hsl(120, 100%, 40%);">+-----END PRIVATE KEY-----</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cacert.pem b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cacert.pem</span><br><span>new file mode 120000</span><br><span>index 0000000..440ae96</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cacert.pem</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../keys/uas.crt</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cakey.pem b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cakey.pem</span><br><span>new file mode 120000</span><br><span>index 0000000..0f76a9b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/cakey.pem</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+../keys/uas.key</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/invite_recv.xml b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/invite_recv.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..2ab846e</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/sipp/invite_recv.xml</span><br><span>@@ -0,0 +1,74 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<?xml version="1.0" encoding="ISO-8859-1" ?></span><br><span style="color: hsl(120, 100%, 40%);">+<!DOCTYPE scenario SYSTEM "sipp.dtd"></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<scenario name="Receive Invite"></span><br><span style="color: hsl(120, 100%, 40%);">+ <Global variables="remote_tag" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv request="INVITE"></span><br><span style="color: hsl(120, 100%, 40%);">+ <action></span><br><span style="color: hsl(120, 100%, 40%);">+ <ereg regexp=".*(;tag=.*)"</span><br><span style="color: hsl(120, 100%, 40%);">+ header="From:"</span><br><span style="color: hsl(120, 100%, 40%);">+ search_in="hdr"</span><br><span style="color: hsl(120, 100%, 40%);">+ check_it="true"</span><br><span style="color: hsl(120, 100%, 40%);">+ assign_to="remote_tag"/></span><br><span style="color: hsl(120, 100%, 40%);">+ </action></span><br><span style="color: hsl(120, 100%, 40%);">+ </recv></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ SIP/2.0 180 Ringing</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_To:];tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: <sips:[service]@[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ SIP/2.0 200 OK</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Via:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_From:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_To:];tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_CSeq:]</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: <sips:[service]@[local_ip]:[local_port];transport=[transport]></span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Type: application/sdp</span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: [len]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ v=0</span><br><span style="color: hsl(120, 100%, 40%);">+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+ s=-</span><br><span style="color: hsl(120, 100%, 40%);">+ c=IN IP[media_ip_type] [media_ip]</span><br><span style="color: hsl(120, 100%, 40%);">+ t=0 0</span><br><span style="color: hsl(120, 100%, 40%);">+ m=audio [media_port] RTP/AVP 0</span><br><span style="color: hsl(120, 100%, 40%);">+ a=rtpmap:0 PCMU/8000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv request="ACK" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <send retrans="500"></span><br><span style="color: hsl(120, 100%, 40%);">+ <![CDATA[</span><br><span style="color: hsl(120, 100%, 40%);">+ BYE sips:[service]@[remote_ip]:[remote_port] SIP/2.0</span><br><span style="color: hsl(120, 100%, 40%);">+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]</span><br><span style="color: hsl(120, 100%, 40%);">+ From: <sips:[local_ip]:[local_port]>;tag=[pid]SIPpTag01[call_number]</span><br><span style="color: hsl(120, 100%, 40%);">+ To: [$remote_tag]</span><br><span style="color: hsl(120, 100%, 40%);">+ [last_Call-ID:]</span><br><span style="color: hsl(120, 100%, 40%);">+ CSeq: [cseq] BYE</span><br><span style="color: hsl(120, 100%, 40%);">+ Contact: sips:[local_ip]:[local_port]</span><br><span style="color: hsl(120, 100%, 40%);">+ Max-Forwards: 70</span><br><span style="color: hsl(120, 100%, 40%);">+ Content-Length: 0</span><br><span style="color: hsl(120, 100%, 40%);">+ ]]></span><br><span style="color: hsl(120, 100%, 40%);">+ </send></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ <recv response="200" /></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</scenario></span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/test-config.yaml b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..7fc276d</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/san/test-config.yaml</span><br><span>@@ -0,0 +1,44 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+ summary: 'Test TLS using a certificate with a wildcard SAN'</span><br><span style="color: hsl(120, 100%, 40%);">+ description: |</span><br><span style="color: hsl(120, 100%, 40%);">+ 'Originate a call using TLS from Asterisk to a remote endpoint,</span><br><span style="color: hsl(120, 100%, 40%);">+ and verify usage of a wildcard certificate. If the call is</span><br><span style="color: hsl(120, 100%, 40%);">+ successfully established then it worked.'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+ test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: test-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'sipp.SIPpTestCase'</span><br><span style="color: hsl(120, 100%, 40%);">+ modules:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: orig-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'pluggable_modules.Originator'</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ config-section: dns-server-config</span><br><span style="color: hsl(120, 100%, 40%);">+ typename: 'dns_server.DNSServer'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ test-iterations:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ scenarios:</span><br><span style="color: hsl(120, 100%, 40%);">+ - { 'key-args': {'scenario': 'invite_recv.xml', '-s': 'uas', '-p': '5062', '-t': 'l1', '-tls_version': '1.2' } }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+orig-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ channel: 'PJSIP/uas'</span><br><span style="color: hsl(120, 100%, 40%);">+ application: 'Echo'</span><br><span style="color: hsl(120, 100%, 40%);">+ async: 'True'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+dns-server-config:</span><br><span style="color: hsl(120, 100%, 40%);">+ port: 10053</span><br><span style="color: hsl(120, 100%, 40%);">+ python-zones:</span><br><span style="color: hsl(120, 100%, 40%);">+ -</span><br><span style="color: hsl(120, 100%, 40%);">+ example.com</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+ dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'chan_pjsip'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip_session'</span><br><span style="color: hsl(120, 100%, 40%);">+ - asterisk : 'res_pjsip_sips_contact'</span><br><span style="color: hsl(120, 100%, 40%);">+ tags:</span><br><span style="color: hsl(120, 100%, 40%);">+ - pjsip</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/tests.yaml b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/tests.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..dae04ee</span><br><span>--- /dev/null</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/allow_wildcard_certs/tests.yaml</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+tests:</span><br><span style="color: hsl(120, 100%, 40%);">+ - test: 'cn'</span><br><span style="color: hsl(120, 100%, 40%);">+ - test: 'san'</span><br><span>diff --git a/tests/channels/pjsip/secure_calling/calls/nominal/tests.yaml b/tests/channels/pjsip/secure_calling/calls/nominal/tests.yaml</span><br><span>index 1243cfb..0e5cdaa 100644</span><br><span>--- a/tests/channels/pjsip/secure_calling/calls/nominal/tests.yaml</span><br><span>+++ b/tests/channels/pjsip/secure_calling/calls/nominal/tests.yaml</span><br><span>@@ -1,5 +1,6 @@</span><br><span> tests:</span><br><span> - test: 'all_ciphers_verify_certs'</span><br><span style="color: hsl(120, 100%, 40%);">+ - dir: 'allow_wildcard_certs'</span><br><span> - test: 'limited_ciphers_verify_certs'</span><br><span> - test: 'two_CAs_verify_certs'</span><br><span> - test: 'two_CAs_no_verify_certs'</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/testsuite/+/18573">change 18573</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/testsuite/+/18573"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-Change-Id: I2d4cf66b642ccf97a6b275e1425c0cbfad5eb0ab </div>
<div style="display:none"> Gerrit-Change-Number: 18573 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>