java.lang.StringIndexOutOfBoundsException: String index out of range: -4

325
04 октября 2021, 08:40

Всем привет сложилась ситуация что получил я следующий exception:

java.lang.StringIndexOutOfBoundsException: String index out of range: -4
    at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
    at java.base/java.lang.String.charAt(String.java:693)
    at org.bouncycastle.util.encoders.Base64Encoder.decode(Unknown Source)
    at org.bouncycastle.util.encoders.Base64.decode(Unknown Source)
    at org.bouncycastle.util.io.pem.PemReader.loadObject(Unknown Source)
    at org.bouncycastle.util.io.pem.PemReader.readPemObject(Unknown Source)
    at org.bouncycastle.openssl.PEMReader.readObject(Unknown Source)
    at org.whispersystems.textsecuregcm.push.RetryingApnsClient.initializeCertificate(RetryingApnsClient.java:76)
    at org.whispersystems.textsecuregcm.push.RetryingApnsClient.<init>(RetryingApnsClient.java:49)
    at org.whispersystems.textsecuregcm.push.APNSender.<init>(APNSender.java:70)
    at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:184)
    at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:101)
    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:296)

я знаю что он мне говорит что я обращаюсь к элементу строки которого нет, но я не пойму как это посмотреть и исправить

вот часть кода на которую он мне указывает:

 private static X509Certificate initializeCertificate(String pemCertificate) throws IOException {
PEMReader reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(pemCertificate.getBytes())));
return (X509Certificate) reader.readObject();

} еще:

 this.apnsClient      = new RetryingApnsClient(configuration.getPushCertificate(),
                                              **configuration.getPushKey(),**
                                              sandbox); жирным шрифтом**

если надо еще что то показать скажите только, кода очень много, весь не скину

READ ALSO
SearchView в Android

SearchView в Android

Есть проблема, связанная с элементом SearchViewКогда я нажимаю на иконку лупы, то SearchView не сразу переходит в режим ввода текста

75
Как передать переменную enum в тело запроса Post Spring

Как передать переменную enum в тело запроса Post Spring

Есть enam и контроллер как правильно передать enum через json?

190
почему нельзя создать пакет(package)

почему нельзя создать пакет(package)

Создал, допустим, на диске D (ну или где угодно на компьютере) Testjava, компилю через cmd

196