Используя сам подписанные сертификаты с сервером Tigase XMPP

Я пытаюсь использовать сам подписанный сертификат, сгенерированное использование http://docs.tigase.org/tigase-server/5.3.0/adminguide/#_server_certificates, запустить сервер XMPP. Однако сервер не начинает регистрироваться ниже упомянутой ошибки исключения в logs/tigase-console.log

    SSLContextContainer.init()         WARNING:  Cannot load certficate from file: certs/tigase.mydomain.crt
    java.security.KeyStoreException: Cannot store non-PrivateKeys
            at sun.security.provider.JavaKeyStore.engineSetKeyEntry(JavaKeyStore.java:250)
            at sun.security.provider.JavaKeyStore$JKS.engineSetKeyEntry(JavaKeyStore.java:55)
            at java.security.KeyStore.setKeyEntry(KeyStore.java:909)
            at tigase.io.SSLContextContainer.addCertificateEntry(SSLContextContainer.java:199)
            at tigase.io.SSLContextContainer.init(SSLContextContainer.java:421)
            at tigase.io.TLSUtil.configureSSLContext(TLSUtil.java:89)
            at tigase.conf.ConfiguratorAbstract.setProperties(ConfiguratorAbstract.java:815)
            at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:550)
            at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:182)
            at tigase.conf.Configurator.componentAdded(Configurator.java:50)
            at tigase.conf.Configurator.componentAdded(Configurator.java:33)
            at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:115)
            at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:141)
            at tigase.server.MessageRouter.setConfig(MessageRouter.java:696)
            at tigase.server.XMPPServer.start(XMPPServer.java:142)
            at tigase.server.XMPPServer.main(XMPPServer.java:112)

Что, кажется, пошло не так, как надо здесь. Я пытался генерировать закрытый ключ с и без пароля, но я получаю это то же исключение.

Файлы, помещенные в certs/ каталог client_truststore, keystore, rsa-keystore, tigase.mydomain.crt, tigase.mydomain.csr, tigase.mydomain.key, tigase.mydomain.pem и truststore

Я использовал openssl req -nodes -new -newkey rsa:2048 -keyout tigase.mydomain.key -out tigase.mydomain.csr генерировать .key и .csr.

Я использовал openssl x509 -req -days 365 -in tigase.mydomain.csr -signkey tigase.mydomain.key -out tigase.mydomain.crt генерировать .crt

Я использовал cat tigase.mydomain.crt tigase.mydomain.key > tigase.mydomain.pem генерировать .pem

Я делаю что-то не так в генерации ключа, сертификата?

То, чего я хочу достигнуть, - то, что использование, мой сам подписал сертификат, потому что клиент будет также принадлежать мне.

Ваша справка очень ценится.

PS:

  1. Я использую последний код от основного ответвления, которое я вытянул из репозитория мерзавца. Компиляция этого кода дает версию = 5.3.0

  2. Используя открывают JDK 7

Спасибо.

0
задан 9 October 2014 в 14:23
1 ответ

Сейчас это исправлено. Это была глупая ошибка с моей стороны. Я поместил все созданные файлы (tigase.mydomain.crt, tigase.mydomain.csr, tigase.mydomain.key, tigase.mydomain.pem). И «tigase.mydomain.crt» - это сертификат без какого-либо закрытого ключа, который также выбирается для добавления в хранилище ключей, и именно здесь сервер выдает исключение. На этот раз я просто поместил файл tigase.mydomain.pem, в котором тоже есть закрытый ключ. Сервер с радостью принял мой сертификат.

Извините за путаницу.

Короче говоря, решение состоит в том, чтобы просто поместить файл .pem в каталог certs /

1
ответ дан 4 December 2019 в 17:09

Теги

Похожие вопросы