Skip to content

Commit defc758

Browse files
authored
Merge pull request #103712 from pankopon/patch-1
[Cog Svcs] Update OpenSSL configuration instructions for Linux
2 parents 46ab125 + ab8ef17 commit defc758

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

articles/cognitive-services/Speech-Service/how-to-configure-openssl-linux.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,37 @@ ms.author: jhakulin
1616

1717
When using any Speech SDK version before 1.9.0, [OpenSSL](https://www.openssl.org) is dynamically configured to the host-system version. In later versions of the Speech SDK, OpenSSL (version [1.1.1b](https://mta.openssl.org/pipermail/openssl-announce/2019-February/000147.html)) is statically linked to the core library of the Speech SDK.
1818

19-
## Troubleshoot connectivity
19+
To ensure connectivity, verify that OpenSSL certificates have been installed in your system. Run a command:
20+
```bash
21+
openssl version -d
22+
```
23+
24+
The output on Ubuntu/Debian based systems should be:
25+
```
26+
OPENSSLDIR: "/usr/lib/ssl"
27+
```
2028

21-
If there are connection failures when using the 1.9.0 release of the Speech SDK, ensure that the `ssl/certs` directory exists in `/usr/lib` directory - which is found in the Linux file system. If the `ssl/certs` directory *doesn't exist*, check where OpenSSL is installed in your system, using the following command:
29+
Check whether there is `certs` subdirectory under OPENSSLDIR. In the example above, it would be `/usr/lib/ssl/certs`.
2230

31+
* If there is `/usr/lib/ssl/certs` and it contains many individual certificate files (with `.crt` or `.pem` extension), there is no need for further actions.
32+
33+
* If OPENSSLDIR is something else than `/usr/lib/ssl` and/or there is a single certificate bundle file instead of multiple individual files, you need to set an appropriate SSL environment variable to indicate where the certificates can be found.
34+
35+
## Examples
36+
37+
- OPENSSLDIR is `/opt/ssl`. There is `certs` subdirectory with many `.crt` or `.pem` files.
38+
Set environment variable `SSL_CERT_DIR` to point at `/opt/ssl/certs` before running a program that uses the Speech SDK. For example:
2339
```bash
24-
which openssl
40+
SSL_CERT_DIR=/opt/ssl/certs ./helloworld
2541
```
2642

27-
Then, locate the OpenSSL `certs` directory, and copy the contents of that directory into `/usr/lib/ssl/certs` directory. Next, try again to see if connectivity issues have been resolved.
43+
- OPENSSLDIR is `/etc/pki/tls`. There is a certificate bundle file, for example `ca-bundle.pem` or `ca-bundle.crt`.
44+
Set environment variable `SSL_CERT_FILE` to point at `/etc/pki/tls/ca-bundle.pem` before running a program that uses the Speech SDK. For example:
45+
```bash
46+
SSL_CERT_FILE=/etc/pki/tls/ca-bundle.pem ./helloworld
47+
```
2848

2949
## Next steps
3050

3151
> [!div class="nextstepaction"]
32-
> [About the Speech SDK](speech-sdk.md)
52+
> [About the Speech SDK](speech-sdk.md)

0 commit comments

Comments
 (0)