Local Server SSL issue

I am experimentig with my new ESP8266 wlan module and Arduino. I want to make an SSL connection using self generated certificate. Everything works fine but when I use BlynkSimpleEsp8266_SSL.h, the blynk.log file shows me just the following info:

14:32:01.543 DEBUG- [id: 0x5958b686, L:/192.168.0.4:8441 - R:/192.168.0.16:20918] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:03.544 DEBUG- [id: 0xdb8127ff, L:/192.168.0.4:8441 - R:/192.168.0.16:13911] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:05.546 DEBUG- [id: 0xdf4be980, L:/192.168.0.4:8441 - R:/192.168.0.16:26253] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:07.549 DEBUG- [id: 0x85c175d6, L:/192.168.0.4:8441 - R:/192.168.0.16:14384] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:09.548 DEBUG- [id: 0x04ac0b13, L:/192.168.0.4:8441 - R:/192.168.0.16:8834] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:11.552 DEBUG- [id: 0x5386e8ae, L:/192.168.0.4:8441 - R:/192.168.0.16:27103] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:13.554 DEBUG- [id: 0x0eac33f6, L:/192.168.0.4:8441 - R:/192.168.0.16:27209] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:15.548 DEBUG- [id: 0x2437a281, L:/192.168.0.4:8441 - R:/192.168.0.16:2798] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:17.549 DEBUG- [id: 0xe90f1674, L:/192.168.0.4:8441 - R:/192.168.0.16:25575] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:19.555 DEBUG- [id: 0xb88c1959, L:/192.168.0.4:8441 - R:/192.168.0.16:8626] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:21.545 DEBUG- [id: 0xaf58a5a9, L:/192.168.0.4:8441 - R:/192.168.0.16:32637] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
14:32:23.547 DEBUG- [id: 0xc7f6796d, L:/192.168.0.4:8441 - R:/192.168.0.16:26299] HANDSHAKEN: TLS_RSA_WITH_AES_128_CBC_SHA
..... and more and more

If I use BlynkSimpleEsp8266.h everything works as usual.

Used Code:

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266_SSL.h>

char auth[] = "7bf69a5a12d048c4aaabf67ed0542833";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "wlanssid";
char pass[] = "wlanpassword";
char server[] = "192.168.0.4";
WidgetTerminal BLYNK_TERMINAL(V0);
BlynkTimer timer;


void setup()
{
  Blynk.begin(auth, ssid, pass, server);
  timer.setInterval(1000, routine);
}

void loop()
{
  timer.run();
  if(Blynk.connected()){
  Blynk.run();
  }else{
    Blynk.connect();
  }
}

void routine(){
  if(Blynk.connected()){
    BLYNK_TERMINAL.println(" MSG => ");
    BLYNK_TERMINAL.flush();
  }
}

I think that library may only be for ESP in standalone mode, not for when used as a WiFi shield.

Curently I upload the code to the ESP via FTDI, think that means standalone?!

P.S. I said before experimentig with arduino but that is not true, its just the arduino ide that use atm :smiley:

Have you added this to your server.properties file?

hardware.ssl.port=8441

As per: https://github.com/blynkkk/blynk-server#advanced-local-server-setup

Yeh it’s inside

#hardware mqtt port
hardware.mqtt.port=8440

#-dataFolder /Path

#hardware ssl port
hardware.ssl.port=8441

#hardware plain tcp/ip port
hardware.default.port=8442

#http and web sockets port
http.port=8080

#https and web sockets port
https.port=9443

#application ssl port
app.ssl.port=8443

#address to bind to. by default bounded to all interfaces
listen.address=

#by default server uses embedded in jar cert to simplify local server installation.
#WARNNING DO NOT USE THIS CERTIFICATES ON PRODUCTION OR IN WHERE ENVIRNOMENTS REAL SECURITY REQUIRED.
#provide either full path to files either use '.' for specifying current directory. For instance "./myfile.crt"
server.ssl.cert=./server_embedded.crt
server.ssl.key=./server_embedded.key
server.ssl.key.pass=

#by default System.getProperty("java.io.tmpdir")/blynk used
data.folder=

#folder for logs.
logs.folder=./logs

#log debug level. trace|debug|info|error. Defines how precise logging will be.
log.level=trace

#maximum number of devices allowed per account
user.devices.limit=25

#maximum number of tags allowed per account
user.tags.limit=100

#defines maximum allowed number of user dashboards. Needed to limit possible number of tokens.
user.dashboard.max.limit=100

#defines maximum allowed widget size in KBs as json string.
user.widget.max.size.limit=20

#user is limited with 100 messages per second.
user.message.quota.limit=100

#maximum allowed number of notification queue. Queue responsible for processing email, pushes, twits sending.
#Because of performance issue - those queue is processed in separate thread, this is required due
#to blocking nature of all above operations. Usually limit shouldn't be reached.
notifications.queue.limit=5000

#Number of threads for performing blocking operations - push, twits, emails, db queries.
#Recommended to hold this value low unless you have to perform a lot of blocking operations.
blocking.processor.thread.pool.limit=6

#this setting defines how often we can send mail/tweet/push or any other notification. Specified in seconds
notifications.frequency.user.quota.limit=15

#this setting defines how often we can send webhooks. Specified in miliseconds
webhooks.frequency.user.quota.limit=1000

#this setting defines how big could be response for webhook GET request. Specified in kbs
webhooks.response.size.limit=72

#maximum size of user profile in kb's
user.profile.max.size=128

#number of strings to store in terminal widget
terminal.strings.pool.size=25

#number of strings to store in map widget
map.strings.pool.size=25

#number of strings to store in lcd widget
lcd.strings.pool.size=6

#maximum number of rows allowed
table.rows.pool.size=100

#period in millis for saving all user DB to disk.
profile.save.worker.period=60000

#period in millis for saving stats to disk.
stats.print.worker.period=60000

#specifies maximum period of time when hardware socket could be idle. After which
#socket will be closed due to non activity. In seconds. Default value 15 if not provided.
#leave it empty for infinity timeout
hard.socket.idle.timeout=15

#Enables native socket transport for Linux using JNI. Should be turned on only if you 100% sure.
#may not work on some environments. Used to increase server performance. Performance boost is ~20-40%.
enable.native.epoll.transport=false

#Enabled native openSSL support for SSL handlers. Should be turned on only if you 100% sure.
#may not work on some environments. Used to increase server performance. Performance boost is ~16%.
#For more details see - http://netty.io/wiki/forked-tomcat-native.html
enable.native.openssl=false

#enable DB
enable.db=false

#enable raw data storage to DB
enable.raw.db.data.store=false

#size of async logger ring buffer. should be increased for loads >2-3k req/sec
async.logger.ring.buffer.size=2048

#initial amount of energy
initial.energy=100000

#ADMINISTRATION SECTION

admin.rootPath=/admin

#used for reset password page and certificate generation.
#by default current server IP is taken. could be replaced with more friendly hostname.
#it is recommended to override this property with your server IP to avoid possible problems of host resolving
#server.host=test.blynk.cc

#email used for certificate registration, could be omitted in case you already specified it in mail.properties
#contact.email=

#network interface to determine server's current IP.
#only the first characters of the interface's name are needed.
#the default setting eth will use the first ethX interface found (i.e. eth0)
net.interface=eth

#comma separated list of administrator IPs. allow access to admin UI only for those IPs.
#you may set it for 0.0.0.0/0 to allow access for all.
#you may use CIDR notation. For instance, 192.168.0.53/24
allowed.administrator.ips=0.0.0.0/0,::/0

# default admin name and password. that will be created on initial server start
admin.email=admin@blynk.cc
admin.pass=admin

#comma separated list of users allowed to create accounts. leave it empty if no restriction required.
allowed.users.list=

P.S. I can also use ESP with SLL when connecting to the blynk cloud. No problem there.

P.S.2 Same error also when using:

server.ssl.cert=
server.ssl.key=
server.ssl.key.pass=