Linuxos OpenSSL konfigurálásaConfigure OpenSSL for Linux

Ha bármilyen Speech SDK-verziót használ a 1.9.0 előtt, az OpenSSL dinamikusan van konfigurálva a gazda-rendszer verzióra.When using any Speech SDK version before 1.9.0, OpenSSL is dynamically configured to the host-system version. A Speech SDK újabb verzióiban az OpenSSL ( 1.1.1-es verzió) statikusan kapcsolódik a Speech SDK alapvető könyvtárához.In later versions of the Speech SDK, OpenSSL (version 1.1.1b) is statically linked to the core library of the Speech SDK.

A kapcsolat biztosításához ellenőrizze, hogy az OpenSSL-tanúsítványok telepítve vannak-e a rendszerbe.To ensure connectivity, verify that OpenSSL certificates have been installed in your system. Parancs futtatása:Run a command:

openssl version -d

Az Ubuntu/Debian-alapú rendszerek kimenetének a következőnek kell lennie:The output on Ubuntu/Debian based systems should be:

OPENSSLDIR: "/usr/lib/ssl"

Győződjön meg arról, hogy a OPENSSLDIR alatt van-e certs alkönyvtár.Check whether there is certs subdirectory under OPENSSLDIR. A fenti példában lenne /usr/lib/ssl/certs .In the example above, it would be /usr/lib/ssl/certs.

  • Ha van, /usr/lib/ssl/certs és számos egyéni tanúsítványfájl tartalmaz ( .crt vagy .pem kiterjesztéssel), nincs szükség további műveletekre.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.

  • Ha a OPENSSLDIR valami más, mint a /usr/lib/ssl és/vagy a több különálló fájl helyett egyetlen tanúsítványfájl-fájl, meg kell adnia egy megfelelő SSL környezeti változót, hogy jelezze, hol találhatók a tanúsítványok.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.

PéldákExamples

  • A OPENSSLDIR /opt/ssl .OPENSSLDIR is /opt/ssl. Van certs több vagy több fájllal rendelkező alkönyvtár .crt .pem .There is certs subdirectory with many .crt or .pem files. Állítsa be a környezeti változót SSL_CERT_DIR úgy, hogy a /opt/ssl/certs Speech SDK-t használó program futtatása előtt mutasson.Set environment variable SSL_CERT_DIR to point at /opt/ssl/certs before running a program that uses the Speech SDK. Például:For example:
export SSL_CERT_DIR=/opt/ssl/certs
  • A OPENSSLDIR /etc/pki/tls (például RHEL/CentOS-alapú rendszereken).OPENSSLDIR is /etc/pki/tls (like on RHEL/CentOS based systems). Van certs alkönyvtár egy tanúsítványfájl-fájllal, például: ca-bundle.crt .There is certs subdirectory with a certificate bundle file, for example ca-bundle.crt. SSL_CERT_FILEA SPEECH SDK-t használó program futtatása előtt állítsa be a környezeti változót úgy, hogy az adott fájlban mutasson.Set environment variable SSL_CERT_FILE to point at that file before running a program that uses the Speech SDK. Például:For example:
export SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt

Tanúsítványok visszavonásának ellenőrzéseCertificate Revocation Checks

A beszédfelismerési szolgáltatáshoz való csatlakozáskor a Speech SDK ellenőrzi, hogy a beszédfelismerési szolgáltatás által használt TLS-tanúsítvány nem lett-e visszavonva.When connecting to the Speech Service, the Speech SDK will verify that the TLS certificate used by the Speech Service has not been revoked. Az ellenőrzés elvégzéséhez a Speech SDK-nak hozzá kell férnie a CRL terjesztési pontjaihoz az Azure által használt hitelesítésszolgáltatók számára.To conduct this check, the Speech SDK will need access to the CRL distribution points for Certificate Authorities used by Azure. A lehetséges CRL letöltési helyeinek listája ebben a dokumentumbantalálható.A list of possible CRL download locations can be found in this document. Ha a tanúsítvány vissza lett vonva, vagy a CRL nem tölthető le, a Speech SDK megszakítja a kapcsolatokat, és felveszi a megszakított eseményt.If a certificate has been revoked or the CRL cannot be downloaded the Speech SDK will abort the connection and raise the Canceled event.

Abban az esetben, ha az a hálózat, amelyben a beszédfelismerési SDK használatban van, olyan módon van konfigurálva, amely nem engedélyezi a hozzáférést a CRL letöltési helyeihez, a CRL-ellenőrzési funkció letiltható, vagy nem lehet sikertelen, ha a CRL nem olvasható be.In the event the network where the Speech SDK is being used from is configured in a manner that does not permit access to the CRL download locations, the CRL check can either be disabled or set to not fail if the CRL cannot be retrieved. Ez a konfiguráció a felismerő objektum létrehozásához használt konfigurációs objektumon keresztül történik.This configuration is done through the configuration object used to create a Recognizer object.

Ha a visszavonási listát nem lehet lekérni, állítsa be a (OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE) tulajdonságot a csatlakozás folytatásához.To continue with the connection when a CRL cannot be retrieved set the property OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE.

config.SetProperty("OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE", "true");
config->SetProperty("OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE", "true");
config.setProperty("OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE", "true");
speech_config.set_property_by_name("OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE", "true")?
[config setPropertyTo:@"true" byName:"OPENSSL_CONTINUE_ON_CRL_DOWNLOAD_FAILURE"];

Ha a "true" értékre van állítva, a rendszer megkísérli lekérni a CRL-t, és ha a beolvasás sikeres, a rendszer visszavonásra kéri a tanúsítványt, ha a lekérés sikertelen, a kapcsolat továbbra is engedélyezett lesz.When set to "true" an attempt will be made to retrieve the CRL and if the retrieval is successful the certificate will be checked for revocation, if the retrieval fails, the connection will be allowed to continue.

A tanúsítvány-visszavonási ellenőrzések teljes letiltásához állítsa a tulajdonságot OPENSSL_DISABLE_CRL_CHECK "true" értékre.To completely disable certificate revocation checks, set the property OPENSSL_DISABLE_CRL_CHECK to "true".

config.SetProperty("OPENSSL_DISABLE_CRL_CHECK", "true");
config->SetProperty("OPENSSL_DISABLE_CRL_CHECK", "true");
config.setProperty("OPENSSL_DISABLE_CRL_CHECK", "true");
speech_config.set_property_by_name("OPENSSL_DISABLE_CRL_CHECK", "true")?
[config setPropertyTo:@"true" byName:"OPENSSL_DISABLE_CRL_CHECK"];

Megjegyzés

Azt is érdemes megjegyezni, hogy egyes Linux-disztribúciók nem rendelkeznek meghatározott TMP vagy TMPDIR környezeti változóval.It is also worth noting that some distributions of Linux do not have a TMP or TMPDIR environment variable defined. Ez azt eredményezi, hogy a Speech SDK minden alkalommal letölti a visszavont tanúsítványok listáját (CRL) ahelyett, hogy a CRL-t gyorsítótárazza a lemezre a lejáratig.This will cause the Speech SDK to download the Certificate Revocation List (CRL) every time, rather than caching the CRL to disk for reuse until they expire. A kezdeti kapcsolat teljesítményének növeléséhez létrehozhat egy TMPDIR nevű környezeti változót, és beállíthatja a kiválasztott ideiglenes könyvtár elérési útjára.To improve initial connection performance you can create an environment variable named TMPDIR and set it to the path of your chosen temporary directory..

Következő lépésekNext steps