有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法注册到textsecure服务器,无法正常工作

我正在尝试将Signal chat集成到我的安卓应用程序中。我已成功设置服务器端(即推送服务器和文本安全服务器),这意味着服务器日志(后端)中没有错误。但安卓应用程序在注册步骤失败,但我能够成功接收和验证短信,生成密钥步骤也工作正常

在成功验证和密钥生成后,我在屏幕上看到“连接错误:无法连接到服务器”

下面是我在Android应用程序日志上看到的例外

            org.thoughtcrime.securesms E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb9f3e948
            org.thoughtcrime.securesms W/TextSecurePreferences: Setting push registered: false
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v1/accounts/sms/code/+918130927259
            org.thoughtcrime.securesms W/SMSListener: Got SMS broadcast...
            org.thoughtcrime.securesms W/SmsListener: Got challenge!
            org.thoughtcrime.securesms W/RegistrationService: Got a challenge broadcast...
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v1/accounts/code/392553
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v2/keys/
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v1/accounts/gcm/
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Error type: TOO_LONG. The string supplied is too long to be a phone number.
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parseHelper(PhoneNumberUtil.java:2895)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parse(PhoneNumberUtil.java:2687)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parse(PhoneNumberUtil.java:2677)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.whispersystems.signalservice.api.util.PhoneNumberFormatter.formatNumber(PhoneNumberFormatter.java:99)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.database.TextSecureDirectory.getPushEligibleContactNumbers(TextSecureDirectory.java:190)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.util.DirectoryHelper.refreshDirectory(DirectoryHelper.java:91)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.handleCommonRegistration(RegistrationService.java:254)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.handleSmsRegistrationIntent(RegistrationService.java:208)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.access$000(RegistrationService.java:63)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService$1.run(RegistrationService.java:95)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.lang.Thread.run(Thread.java:818)
            org.thoughtcrime.securesms W/ContactsSyncAdapter: onPerformSync(com.安卓.contacts)
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Error type: TOO_LONG. The string supplied is too long to be a phone number.
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parseHelper(PhoneNumberUtil.java:2895)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parse(PhoneNumberUtil.java:2687)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at com.google.i18n.phonenumbers.PhoneNumberUtil.parse(PhoneNumberUtil.java:2677)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.whispersystems.signalservice.api.util.PhoneNumberFormatter.formatNumber(PhoneNumberFormatter.java:99)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.database.TextSecureDirectory.getPushEligibleContactNumbers(TextSecureDirectory.java:190)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.util.DirectoryHelper.refreshDirectory(DirectoryHelper.java:91)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.handleCommonRegistration(RegistrationService.java:254)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.handleSmsRegistrationIntent(RegistrationService.java:208)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService.access$000(RegistrationService.java:63)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at org.thoughtcrime.securesms.service.RegistrationService$1.run(RegistrationService.java:95)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            org.thoughtcrime.securesms W/PhoneNumberFormatter:     at java.lang.Thread.run(Thread.java:818)
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PhoneNumberFormatter: Got local CC: IN
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v1/directory/tokens
            org.thoughtcrime.securesms W/Directory: Adding active token: +919999555808, X8WadrTVTDs9lw
            org.thoughtcrime.securesms W/Directory: Adding active token: +919555277550, +e9lhGZ8Fzb/jw
            org.thoughtcrime.securesms W/PushServiceSocket: Push service URL: http://<my_server_ip>:8080
            org.thoughtcrime.securesms W/PushServiceSocket: Opening URL: http://<my_server_ip>:8080/v1/accounts/token
            org.thoughtcrime.securesms W/RegistrationService: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found
            org.thoughtcrime.securesms W/RegistrationService:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeRequest(PushServiceSocket.java:510)
            org.thoughtcrime.securesms W/RegistrationService:     at org.whispersystems.signalservice.internal.push.PushServiceSocket.getAccountVerificationToken(PushServiceSocket.java:146)
            org.thoughtcrime.securesms W/RegistrationService:     at org.whispersystems.signalservice.api.SignalServiceAccountManager.getAccountVerificationToken(SignalServiceAccountManager.java:259)
            org.thoughtcrime.securesms W/RegistrationService:     at org.thoughtcrime.securesms.service.RegistrationService.handleCommonRegistration(RegistrationService.java:260)
            org.thoughtcrime.securesms W/RegistrationService:     at org.thoughtcrime.securesms.service.RegistrationService.handleSmsRegistrationIntent(RegistrationService.java:208)
            org.thoughtcrime.securesms W/RegistrationService:     at org.thoughtcrime.securesms.service.RegistrationService.access$000(RegistrationService.java:63)
            org.thoughtcrime.securesms W/RegistrationService:     at org.thoughtcrime.securesms.service.RegistrationService$1.run(RegistrationService.java:95)
            org.thoughtcrime.securesms W/RegistrationService:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            org.thoughtcrime.securesms W/RegistrationService:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            org.thoughtcrime.securesms W/RegistrationService:     at java.lang.Thread.run(Thread.java:818)

下面是我的推送服务器。yml

    redis:
      url: redis://localhost:6379/2

    authentication:
      servers:
        -
          name: 123
          password: 123
    gcm:
      xmpp: false
      apiKey: A####################s
      senderId: 1#######1
      redphoneApiKey: A########################i4 

    server:
        applicationConnectors:
        - type: http
          port: 9999
        adminConnectors:
        - type: http
          port: 9998
        gzip:
            enabled: true

    logging:
      level: INFO
      appenders:
        - type: file
          currentLogFilename: /tmp/pushserver.log
          archivedLogFilenamePattern: /tmp/pushserver-%d.log.gz
          archivedFileCount: 5
        - type: console

下面是我的Textsecure服务器。yml或生产。yml

    twilio: # Twilio SMS gateway configuration
      accountId: AC##############51
      accountToken: 8####################7
      numbers:
        -
          +12132414380 #fake
    #  numbers:
    #        -
    #         +12015975380
      localDomain: 127.0.0.1  # The domain Twilio can call back to.

    push: # GCM/APN push server configuration
      host: localhost
      port: 9999
      username: 123
      password: 123

    s3: # AWS S3 configuration
      accessKey: A#####################Q
      accessSecret: 0##########################9

      # Name of the S3 bucket (needs to have been created)
      # for attachments to go.  Should be configured with
      # correct permissions.
      attachmentsBucket: signale

    directory: # Redis server configuration for TS directory
      url: "redis://localhost:6379/0"

    cache: # Redis server configuration for general purpose caching
      url: "redis://localhost:6379/1"

    server:
      applicationConnectors:
        - type: http
          port: 8080
          #keyStorePath: config/example.keystore
          #      #keyStorePassword: example
          #            #validateCerts: true
      adminConnectors:
        - type: http
          port: 8081
          #                              #keyStorePath: config/example.keystore
          #                                    #keyStorePassword: example
          #                                          #validateCerts: true
    websocket:
      enabled: true

    messageStore: # Postgres database configuration for message store
      driverClass: org.postgresql.Driver
      user: "textsecure"
      password: "postgres"
      url: "jdbc:postgresql://127.0.0.1:5432/textsecure_msg"

    database: # Postgres database configuration for account store
      # the name of your JDBC driver
      driverClass: org.postgresql.Driver

      # the username
      user: "uname"

      # the password
      password: "mypas"

      # the JDBC URL
      url: "jdbc:postgresql://127.0.0.1:5432/textsecure_accounts"

      # any properties specific to your JDBC driver:
      properties:
        charSet: UTF-8

共 (1) 个答案

  1. # 1 楼答案

    在testsecure服务器YML中,即使根本不需要功能,也需要redphone身份验证密钥,因为服务器使用相同的密钥注册自身 为此,需要在google开发者帐户中创建一个项目,并在yml文件中使用数字部分作为authkey

    对于ex项目名称“my_readphone-112312”,则authkey将为112312

    然后在yml中添加以下条目

    redphone:
    authKey: 112312