title: TextSecure Server (Signal) Configuration
body: <p>I have installed TextSecure (Signal) server tagged v0.93 at GitHub on CentOS 7. Compilation passed ok, jars are in order, config is in order, however when I try to start it:</p>
  
  <pre><code>java -jar /Server/target/TextSecureServer-2.25.jar server /Server/config/server.yml &amp;
  </code></pre>
  
  <p>it gives output:</p>
  
  <pre><code>INFO  [2019-02-10 19:03:15,113] io.dropwizard.server.DefaultServerFactory: Registering jersey handler with root path prefix: /
  INFO  [2019-02-10 19:03:15,116] io.dropwizard.server.DefaultServerFactory: Registering admin handler with root path prefix: /
  INFO  [2019-02-10 19:03:16,401] com.relayrides.pushy.apns.ApnsClientBuilder: Native SSL provider is available and supports ALPN; will use native provider.
  com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
          at com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:89)
          at com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java:158)
          at org.whispersystems.textsecuregcm.entities.MessageProtos$ServerCertificate.&lt;init&gt;(MessageProtos.java:2010)
          at org.whispersystems.textsecuregcm.entities.MessageProtos$ServerCertificate.&lt;init&gt;(MessageProtos.java:1974)
          at org.whispersystems.textsecuregcm.entities.MessageProtos$ServerCertificate$1.parsePartialFrom(MessageProtos.java:2062)
          at org.whispersystems.textsecuregcm.entities.MessageProtos$ServerCertificate$1.parsePartialFrom(MessageProtos.java:2057)
          at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:137)
          at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:168)
          at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:180)
          at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:185)
          at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
          at org.whispersystems.textsecuregcm.entities.MessageProtos$ServerCertificate.parseFrom(MessageProtos.java:2648)
          at org.whispersystems.textsecuregcm.auth.CertificateGenerator.&lt;init&gt;(CertificateGenerator.java:28)
          at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:232)
          at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:102)
          at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:43)
          at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
          at io.dropwizard.cli.Cli.run(Cli.java:78)
          at io.dropwizard.Application.run(Application.java:93)
          at org.whispersystems.textsecuregcm.WhisperServerService.main(WhisperServerService.java:292)
  </code></pre>
  
  <p>Seems like there is some problem with certificates somewhere. If i comment line in: </p>
  
  <p>src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java:232</p>
  
  <pre><code>environment.jersey().register(new CertificateController(new CertificateGenerator(config.getDeliveryCertificate().getCertificate(), config.getDeliveryCertificate().getPrivateKey(), config.getDeliveryCertificate().getExpiresDays())));
  </code></pre>
  
  <p>it starts without problem.</p>
  
  <p>Any hint or help would be appreciated.</p>
  
  <p>Thanks!</p>