Blynk Local Server : Error creating new authz :: Too many invalid authorizations recently

Hi @Dmitriy

I’m running local blynk server v0.28.4
I received the following error, could you pls help explain what could be causing it (I simply upgraded from older version server to this, I am running local server on Java 9 on Windows 10) - all my apps running ok however :

"Error creating new authz :: Too many invalid authorizations recently."

all my apps running ok however curiously all of a sudden the following statement client.connet call fails to open connection…I’m investigating if this server version broke something, I’ve confirmed it works via s simple URL in a browser but not the the app:

if (!client.connect(blynk_server_info.blynk_server, blynk_server_info.blynk_https_port))
			{
				Serial.println("connection failed");
				blynk_return.blynk_int_valve = -2;							   // -2 means there was an error and Appliance name contains the error information
				blynk_return.blynk_float_value = -2;						   // -2 means there was an error and Appliance name contains the error information
				strcpy(blynk_return.appliance_name, "ERR:0x1:Failed2connect"); // "Failed to conect to client : Error information contained in appliance name
				return (blynk_return);
			}
			else

Hello. Where this error comes from? Do you see some errors in Blynk log?

it was an output on the screen just after I startup Blynk server…it appears after the line where blynk server prints that certificate has been created.
I managed to eliminate error by re-installing Java 9 into a different directory from Java 8. At least thats what I think fixed it :wink:

BTW: nothing in the logs

Interesting. I’ll check. Do you have only 1 server?

I guess on Mars, Local Blynk Server is released before… Unfortunately people on earth have to wait a little bit more time… :stuck_out_tongue_winking_eye:

1 Like

your earthlings are always a few billion years behind :wink:

1 Like

@Dmitriy @psoro
psoro - even though its 0.28.3 on web site its actually shows 0.28.4-SNAPSHOT on CMD output.

Dmitriy: I have one server
I just did another test: (my conclusion, client.connect breaks when using local server with Java 9 implementation)

My Configuration: Given I am using the default blynk server generated certificates I wonder if Java 9 does not like it as it seems to work when I try a client.connet to say “api.github.com” using WifiClientSecure.

my steps: uninstalled Java 8 and installed Java 9 and then started local Blynk server

C:\Users\m>java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

Output from CMD:

Blynk Server 0.28.4-SNAPSHOT successfully started.
All server output is stored in folder 'C:\Users\m\Downloads\.\logs' file.
Generating own initial certificates...
Error during certificate generation.
Challenge failed... Giving up.

I am using the following code to run tests on Java 8 and Java 9. Using Java 9 and v0.28.4 trying to connect to my local blynk server via client.connet (using wificlientsecure) fails to connect to my local server but works if I go to “api.github.com”. Could it be that I don’t have CA signed certificates ?
Once I rolled back to Java 8 all works fine using v0.28.4 i.e. client.connect in below code works fine when trying to connect to my local blynk server.

*
 *  HTTP over TLS (HTTPS) example sketch
 *
 *  This example demonstrates how to use
 *  WiFiClientSecure class to access HTTPS API.
 *  We fetch and display the status of
 *  esp8266/Arduino project continuous integration
 *  build.
 *
 *  Created by Ivan Grokhotkov, 2015.
 *  This example is in public domain.
 */

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>

const char* ssid = "xxxxx";
const char* password = "xxxx";

const char* host = "localblynkserver.com";
const int httpsPort = 9443;

// Use web browser to view and copy
// SHA1 fingerprint of the certificate
const char* fingerprint = "CF 05 98 89 CA FF 8E D8 5E 5C E0 C2 E4 F7 E6 C3 C7 50 DD 5C";  // NOTE: this is not my local blynk server fingerprint

// Use WiFiClientSecure class to create TLS connection
  WiFiClientSecure client;
  
void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.print("connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}


void loop() {
  
  Serial.print("connecting to ");
  Serial.println(host);
  if (!client.connect(host, httpsPort)) {      // NOTE: this is where failes to connected using Java 9
    Serial.println(">>> connection failed");  
    return;
  }

  if (client.verify(fingerprint, host)) {
    Serial.println("certificate matches");
  } else {
    Serial.println("certificate doesn't match");
  }
 
  String url = "/repos/esp8266/Arduino/commits/master/status";
  Serial.print("requesting URL: ");
  Serial.println(url);

  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: BuildFailureDetectorESP8266\r\n" +
               "Connection: close\r\n\r\n");

  Serial.println("request sent");
  while (client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      
      Serial.println("headers received");
      Serial.println (line);
      break;
    }
  }
 
  String line = client.readStringUntil('\n');
  if (line.startsWith("{\"state\":\"success\"")) {
    Serial.println("esp8266/Arduino CI successfull!");
    Serial.println(line);
  } else {
    Serial.println("esp8266/Arduino CI has failed");
   Serial.println(line);
  }
  

  Serial.println("closing connection");
  Serial.println(ESP.getFreeHeap());
}

In case certificates are not generated this message is expected.

I don’t understand. Why does it only fail when I run java 9 version and not java 8 versions of local blynk server ?

I don’t thinks this is related to java version.

Sorry, I’m not sure I’m doing a good job in explaining the issue. Basically the above statement fails to successfully connect to my local blynk server when I use java 9 run time installed (I assume it’s jdk I needed to install), but successfully connects when I use java 8 version of blynk server with Java 8 runtime installed.