Strong recommend PGP Tool - Online PGP Key Generator Encryption Decryption Tool. Notes: All the required options are import to generate the key pairs. Especially the name, email address and passphrase are critical for PGP decryption. "Name <Email address>" will be the user id of the generated PGP private key. You will use it with passphrase to decrypt the encrypted message by PGP public key. I will write another 2 posts to guide how you can encrypt message using PGP public key and decrypt the
Notes: All the required options are import to generate the key pairs. Especially the name, email address and passphrase are critical for PGP decryption. "Name <Email address>" will be the user id of the generated PGP private key. You will use it with passphrase to decrypt the encrypted message by PGP public key.
I will write another 2 posts to guide how you can encrypt message using PGP public key and decrypt the data via PGP private key in Java. Stay tuned!
PGP
Pretty Good Privacy (PGP) is a data encryption and decryption computer program that provides cryptographic privacy and authentication for data communication. PGP is often used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitions and to increase the security of e-mail communications. It was created by Phil Zimmermann in 1991. PGP and similar software follow the OpenPGP standard (RFC 4880) for encrypting and decrypting data. Source: Wikipedia
GPG, or GNU Privacy Guard, is an open-source implementation of PGP encryption. It is functionally similar to PGP, but is available for free and can be used on a wider range of devices.
GPG, or "GNU Privacy Guard", is a newer encryption software that was released in 1997. It works in a similar way to PGP, but offers more features and is more widely-used. It's also free and open source, which means that its code can be examined and modified by anyone.
if you are familiar with OAuth 2.0, you should know how to make the request to the token endpoint with client id, client secret, scope and grant type. Azure Active Directory (Azure AD) supports two types of authentication for service principals: password-based authentication (app secret) and certificate-based authentication. While app secrets can easily be created in the Azure portal or using a Microsoft API like Microsoft Graph, they're long-lived, and not as secure as certificates. It's there
if you are familiar with OAuth 2.0, you should know how to make the request to the token endpoint with client id, client secret, scope and grant type.
Azure Active Directory (Azure AD) supports two types of authentication for service principals: password-based authentication (app secret) and certificate-based authentication. While app secrets can easily be created in the Azure portal or using a Microsoft API like Microsoft Graph, they're long-lived, and not as secure as certificates. It's therefore recommended that your application uses a certificate rather than a secret.
to be more secure, you might want to try with certificate-based authentication. According to this Microsoft Learn guide, the key part is to compute a client assertion from your ceritficate file. In another Microsoft Learn link, MSAL.NET has four methods to provide either credentials or assertions to the confidential client app. But how can you do the same compute in your Spring Boot java backend application as a OAuth 2.0 client?
use Spring Boot Starter for Azure Active Directory?
yup, Spring Boot Starter for Azure AD is a good fit for your java backend application if your app uses servelet. but you can't able to use if you used Reactive Spring WebFlux framework. Since spring-cloud-azure-starter-active-directory not support Reactive yet.
it is easy to make the request that post application/x-www-form-urlencoded body with required query to the access token endpoint according to OAuth 2.0 spec. You can do it in declarative way using a WebClient.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As you see, there is An assertion (a JSON web token) that you need to create and sign with the certificate you registered as credentials for your application. Though we can't use spring-cloud-azure-starter-active-directory in our Reactive Spring Boot app. but we still be able to use or refer to this AadJwtEncode::encode implementation and see how we can compute the client_assertion with the private key from your certificate.
How spring-cloud-azure-starter-active-directory compute client_assertion?
An assertion (a JSON web token) that you need to create and sign with the certificate you registered as credentials for your application. Read about certificate credentials to learn how to register your certificate and the format of the assertion.
Here you go, the gist code sample using itext 5. How to merge documents correctly?Is there some way to detect the page size and then use that same page size for those documents? Or, if not, is it possible to have it fit to page?I would like to add a link to an existing pdf that jumps to a coordinate on another page.I have the following problem when printing the PDF file after miText Knowledge BaseitextpdfPDF MergerMerge PDFs with iText’s free online app and sandbox.iText pdfiText PDF
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters