Originally published at https://www.handracs.info.

Photo by James Harrison on Unsplash

Integrate OWASP Dependency Check with Maven

In this post, we are going to look at how to integrate OWASP dependency check with Maven. I will not go deep into what Maven is, assuming that all readers have some sort of familiarity with Maven.


Anyone who works with Java, especially those who are building enterprise level applications, must know that there are plenty of libraries they will use to build the product. With more and more dependencies we add to our project, it becomes harder and harder to keep track of any security issue exists in our dependencies. …

Photo by Gary Chan on Unsplash

Originally published at https://www.handracs.info.

In this post, we are going to learn on how to check certificate revocation status by using Certificate Revocation List (CRL). CRL though is not the only way for us to check for certificate revocation status. There is another protocol called Online Certificate Status Protocol (OCSP), that is more preferred in terms of doing certificate revocation checking. We will discuss on the OCSP in the next blog post.


People and the internet are becoming more conscious on securing their information online. One of the security mechanism that is very common and used everywhere on the internet…

Photo by Luke Chesser on Unsplash

Originally published at https://www.handracs.info.

In this post, we are going to learn how can we monitor an application developed using the SpringBoot framework using Prometheus and Grafana. We will deploy all the components using docker for simplicity. We will start the blog with a simple, non-exhaustive, introduction to the components that we’re going to use for this post. I’ll provide links as well to where you can go to get more information on the related component.


Monitoring is undeniably one of the important items to have when dealing with applications. It has become even more prevalent in the age of…

Photo by Kelvin Ang on Unsplash

In this post, we are going to run through the process of creating gRPC client/server that is secured using mutual TLS authentication (mTLS). We will start with a little bit of introduction on mTLS and gRPC, that is just enough for the sake of understanding this post. A more detailed discussion on both is outside the scope of this post.

Brief introduction to mTLS

In today’s web, it is very rare to see a website that is not secured at least using HTTPS (HTTP over TLS). It has been a norm in the industry that websites are ought to use HTTPS instead of just…

Photo by Clément H on Unsplash

Originally published at https://www.handracs.info.

In this post, we are going to do a comparison between Hotspot and OpenJ9. For those of you who are already familiar with Java, you must already be familiar with the term Hotspot as well. Hotspot is the Java Virtual Machine (JVM) implementation developed by Oracle (before this was Sun Microsystem). However, OpenJ9 might be less known JVM implementation among the community, especially newcomers to the Java ecosystem. Nowadays, it gains more traction due to the cloud native movement.

A brief history of OpenJ9

OpenJ9 is yet another JVM implementation, originally owned and developed by IBM, which then contributed to Eclipse…

Photo by Kelly Sikkema on Unsplash

In this post, we are going to run through the steps necessary to extract a PKCS#12 digital certificate to TWO (2) separate files. At the end, we will have a pem file that contains the public certificate and a key file that contains the private key of the certificate.

Before continuing, you have to ensure that you have openssl command installed in your system. You may visit this link https://www.openssl.org/source/ in order to download OpenSSL if you have not had one.

In this post, I will be using OpenSSL version 1.1.1f that has been installed in my system.

handra@nebula …

Photo by Rahul Chakraborty on Unsplash

Sometimes, there can be a need to pull the latest images of all the docker images that we have in our installation. Unfortunately, docker does not provide a simple command for us to be able to update all the pulled docker images.

Luckily, with the power of bash, we will be able to accomplish this task. The command below will retrieve the images that we have in our installation and pull the latest images from the docker repository.

docker images | grep -v REPOSITORY | awk '{print $1}' | xargs -L1 docker pull

Now, let’s break down what this command…

Photo by vipul uthaiah on Unsplash

A new vulnerability discovered by Promon named StrandHogg has been actively attacking Android devices. The bad thing is, it has capability to attack both rooted and un-rooted devices.

This vulnerability is so dangerous that even knowledgeable users can be tricked to submit their credentials, which will then be stolen and used for malicious purposes. …

Photo by Andrew Ridley on Unsplash

String tokenisation or sometimes called string splitting is one of the most common string operations to be performed when we are doing programming. Take a CSV (Comma Separated Value) for example, which practically separates content based on the use of comma (,) character as separator.

Java makes it very easy to do string tokenisation. The most commonly used method to do string tokenisation is by utilising the split method provided by the String class. Besides utilising the built-in split method, we can as well utilise a class named StringTokenizer provided by the Apache Commons (commons-text) library.

Using built-in split function

Let’s say we have…

Photo by Shahadat Rahman on Unsplash


Java stream API is not a really new API. This API has been introduced by Oracle since Java version 8. As specified inside the JDK documentation, Java stream is A sequence of elements supporting sequential and parallel aggregate operations (source: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html).

Stream API, when used properly, can help the use of collections simpler and easier, following the way of doing functional programming. Java stream API has plenty of operations available.

In today’s post, we are going to run through some of the available operations provided by the stream API, including the sample source code and output from it. …


I am a software engineer focusing on Java programming language and Public Key Infrastructure (PKI). Loves Linux and open-source technology.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store