Pavel Sklenar

Vulnerability Scan as part of Continuous Integration

Have you ever image how many vulnerabilities exist in your applications since it was created? And how many of them comes from its dependencies? The high secure environments require to perform regularly checks to discover any new vulnerability issue in your application. These checks can be done manually, but it may take a lot of time, especially if you are using the current frameworks (e.g. Spring Boot) with many and many transitive dependencies.

Spring Boot: Run and Build in Docker

It exists many “Docker for Java developers” guides, but most of them does not take care of small and efficient Docker images. I have combined many resources how to make a simple and fast Docker image containing any of Spring Boot like application. My goals: Create a single and portable Dockerfile (as general as possible). Make Maven build inside Docker (no need to have Maven locally). Don’t download any Maven dependencies repeatedly, if no changes in pom.

Securing REST APIs with Client Certificates

This post is about an example of securing REST API with a client certificate (a.k.a. X.509 certificate authentication). In other words, a client verifies a server according to its certificate and the server identifies that client according to a client certificate (so-called the mutual authentication). In connection with Spring Security, we will be able to perform some additional authentication and authorization. Technologies used: Spring Boot 2.0.5.RELEASE Spring Web + Security 5.

TCP Port Scanner Example using Spring Shell

This post is about using Spring Shell to make a simple application for scanning open TCP ports. Technologies used: Spring Boot 2.0.5.RELEASE Spring Shell 2.0.1.RELEASE Quick Overview: Final Project Structure Creating a new base Spring Boot project Needs for parallelism How check whether a port is open? Integrating with Spring Shell How it works Final Project Structure The final project structure" The final project structure

How To Create PKCS #12 For Your Application

This post is about creating PKCS #12 to serve e.g. your content via HTTPS in your application itself or in another web container (such a Tomcat or another application server). The PKCS #12 format is a binary format for storing cryptography objects. It usually contains the server certificate, any intermediate certificates (i.e. chain of trust), and the private key, all of them in a single file. A PKCS #12 file may be encrypted and signed.

How to install Ubuntu on Synology

This post is about installing an Ubuntu desktop on your Synology NAS. You are able to install any other Linux distribution using this recipe, it does not matter whether desktop or server type of any distro. To install any virtual machine to your Synology, you need to install Virtual Machine Manager to your NAS. Your model must be supported: 19 series: RS1219+ 18 series: FS1018, RS3618xs, RS818RP+, RS818+, RS2818RP+, RS2418RP+, RS2418+, DS3018xs, DS918+, DS718+, DS218+, DS1618+ 17 series: FS3017, FS2017, RS3617xs, RS3617RPxs, RS4017xs+, RS3617xs+, RS18017xs+, DS3617xs, DS1817+, DS1517+ 16 series: RS2416RP+, RS2416+, RS18016xs+, DS916+ 15 series: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+ 14 series: RS3614xs, RS3614RPxs, RS3614xs+ 13 series: RS3413xs+, RS10613xs+ 12 series: RS3412xs, RS3412RPxs, DS3612xs 11 series: RS3411xs, RS3411RPxs, DS3611xs (source, last updated 2018-08-13)