LINUX.ORG.RU

Communigate + XMPP

 


0

1

Возникла проблема с Communigate и XMPP. При подключении он отдаёт клиенту самоподписанный сертификат, что приводит к отвалу соединения в большинстве клиентов.

Дополнительная сложность в том, что подключение к нему должно осуществляться из веб-клиента (conversejs), поэтому дополнительно используется connection manager (punjab). При установлении соединения через punjab никакой возможности проигнорировать ошибку сертификата нет (разве что путём правки кода самого punjab, но я в питоне не понимаю ни фига). Подключение идёт на порт 5222, по документации никакого защищённого соединения на нём быть не должно, в настройках XMPP для него использование SSL/TLS отключено. Какие могут быть варианты решения проблемы? Варианты типа ненужно/не использовать comminugate/использовать XXX и прочее не предлагать, это не в моей компетенции.


Использовать самоподписанный сертификат в 2020 году не следует.

TeopeTuK ★★★★★
()
Ответ на: комментарий от Jameson

Это всё прекрасно, но есть проблема - использоваться всё это добро будет во внутренней сети заказчика. Соответственно, на домен типа company.local подписанный доверенным УЦ сертификат получить нельзя.

anonymous
()
Ответ на: комментарий от anonymous

Соответственно, на домен типа company.local подписанный доверенным УЦ сертификат получить нельзя.

А добавить локальный УЦ, которым подписан серверный сертификат, в список доверенных на клиенте и на сервере мешает что?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

В цепочке нет сертификата УЦ.

$ openssl s_client -showcerts -verify 5 -connect localhost:5222 < /dev/null -starttls xmpp
verify depth is 5
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 O = CommuniGate Systems Customer, OU = Trial/Testing, CN = , emailAddress = postmaster
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 O = CommuniGate Systems Customer, OU = Trial/Testing, CN = , emailAddress = postmaster
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:O = CommuniGate Systems Customer, OU = Trial/Testing, CN = , emailAddress = postmaster
   i:O = "CommuniGate Systems, Inc.", C = US, ST = CA, L = Richmond, OU = CommuniGate Pro, CN = communigate.com, emailAddress = support@communigate.com
-----BEGIN CERTIFICATE-----
MIIDiDCCAnACAh5hMA0GCSqGSIb3DQEBBQUAMIGtMSIwIAYDVQQKExlDb21tdW5p
R2F0ZSBTeXN0ZW1zLCBJbmMuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExETAP
BgNVBAcTCFJpY2htb25kMRgwFgYDVQQLEw9Db21tdW5pR2F0ZSBQcm8xGDAWBgNV
BAMTD2NvbW11bmlnYXRlLmNvbTEmMCQGCSqGSIb3DQEJARYXc3VwcG9ydEBjb21t
dW5pZ2F0ZS5jb20wHhcNOTgwMjAyMDAwMDAwWhcNMjgwMjAyMDAwMDAwWjBlMSUw
IwYDVQQKExxDb21tdW5pR2F0ZSBTeXN0ZW1zIEN1c3RvbWVyMRYwFAYDVQQLEw1U
cmlhbC9UZXN0aW5nMQkwBwYDVQQDEwAxGTAXBgkqhkiG9w0BCQETCnBvc3RtYXN0
ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDodaUeexY5/QsKDi0d
46ojEjJWzFeiAc6lF9Vo+VXNT/IMcaYMuVdNJHXilZnkaDyG8gK27hQ7+YU1VgGq
Dosl05BsnHSmIdTvnz7CldcUqBoHsdZXKl91KZUuaa6Yj9MEWcYNVeSPtW7aCVbt
Cnnj2AcmJ6xZieH9WL3RmXsJFltqk+pQvJy9D6NoEeSw+rHtBio0j92K78RDoOM1
fsaPmuSvZdZ51u5yIJ+v7lU0P3vQwOX39zIirN7YzDqG29lfWgrEhxROOMM5Vz+K
jErZnNNA2F1LjYwBN278oQFi2r9tTRknSYmAw5VwjEsJ0wcByZepN9tDnAwlKoQ/
8ZIvAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBANmck1+XGG1zm65YjNuGmzMRqS1w
iW8oijg87eCQxRCxx9hhjqpk4gIFT1O24OwetNsLhUSKGN18VN+jN+IG5B4CN2Uc
Ret04KIJ0Ee1ilA6XncvtcR93nQYtR6P/ixHX4Z9tMm33xPMiuePXpMR227cZPPy
PLKiSJT21pBhKOPQ2TGwzTt7H1pUTS+i24N8rxxOqZ+lbKS6prw1CAol9Mwixadv
70XD9vx4chkzstieQhM82tQPEaQ11a9e/wybo2/UJQPbBZ7HJ4mYXBfU4n+zdFiJ
ITvnWUguGr6jMPA19Fv1hDnjjlB5XS/ckyT11Owrlxsb81qaBT+oVtuMVsQ=
-----END CERTIFICATE-----
---
Server certificate
subject=O = CommuniGate Systems Customer, OU = Trial/Testing, CN = , emailAddress = postmaster

issuer=O = "CommuniGate Systems, Inc.", C = US, ST = CA, L = Richmond, OU = CommuniGate Pro, CN = communigate.com, emailAddress = support@communigate.com

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2140 bytes and written 584 bytes
Verification error: unable to verify the first certificate
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 000000085F3A5B3A5433A585AE1CB1703B9217B344E7C34347A696C12BD4DF2D
    Session-ID-ctx: 
    Master-Key: BE02F0015AA2F19B5D07137BDD23313D393C209874662DDD12F55EC3AC368C3463F37F3F75AA6EDD8B11279683D2A91D
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1597659962
    Timeout   : 7200 (sec)
    Verify return code: 21 (unable to verify the first certificate)
    Extended master secret: no
---
DONE
bFox
() автор топика
Ответ на: комментарий от bFox

Сертификат самоподписанный? Тогда его и надо добавлять на клиентов в доверенные УЦ.

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.