Java


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 […]


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 […]


Spring Security with Radius Login in Spring Boot

In this example, we will secure a home page (/home) with Spring Security using Radius authentication. Technologies used: Spring Boot 2.0.4.RELEASE TinyRadius 1.0.1 Embedded Tomcat 8.5.23 Quick Overview: Create a new base Spring Boot project with required dependencies Create a simple login using Spring Security Create your own RadiusAuthenticationProvider Simple […]


Spring Integration: SFTP Download using Key-Based Authentication

This example will demonstrate how to use Spring Integration for downloading files from a remote SFTP server. Two possible authentications could be used, i.e. public key or password. Technologies used: Spring Boot 2.0.4.RELEASE Spring Integration 5.0.7.RELEASE (managed by Spring Boot) Spring 5.0.8.RELEASE (managed by Spring Boot) Quick overview: Create SFTP […]


Spring Integration: SFTP Upload Example using Key-Based Authentication 8

This example will demonstrate how to use Spring Integration for uploading files to a remote SFTP server. You can use both of possible authentication methods, i.e. with a public key or with a password. The real example shows the public key authentication only because it is a more production-ready choice. […]


Parallel Processing in Java

This post shows how to implement parallelism in Java using its native  java.util.concurrent classes. I mean especially using parallel Fork-Join Framework (available since Java 1.7), which is most suitable for processing of high complex (CPU intensive) tasks. I mean that case when you have one very complex task and you […]