What is X.509 certificate?

X.509 is a standard format for public key certificates, digital documents that securely associate cryptographic key pairs with identities such as websites, individuals, or organizations.

First introduced in 1988 alongside the X.500 standards for electronic directory services, X.509 has been adapted for internet use by the IETF’s Public-Key Infrastructure (X.509) (PKIX) working group

Common applications of X.509 certificates include:

  1. SSL/TLS and HTTPS for authenticated and encrypted web browsing
  2. Signed and encrypted email via the S/MIME protocol
  3. Code signing
  4. Document signing
  5. Client authentication
  6. Government-issued electronic ID

For more info, read below;

X.509 FAQ

Hosting multiple domain under one app service

Azure DevOps .NETFramework Version not found

Running build pipeline for a web application targeting .NETFramework Version 4.6.1 using 2022 build agent, I have received this error;

The reference assemblies for .NETFramework,Version=v4.6.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks 

The solution is to change the build agent to 2019.

How To Update Raspberry Pi

Start by updating the list of repository packages:

sudo apt update

When this is done, run the update command:

sudo apt dist-upgrade

Follow any instructions and wait for the Pi update. When you’re done, type in:

sudo apt clean

This will delete unnecessary files that were uploaded during the update. Finish by restarting:

sudo reboot

When your Raspberry Pi is restarted, you will use the latest version of Raspbian.

For more info, read here

Hosting application targeting multiple framework

If the application is targeting multiple frameworks e.g. NET Core 2.1 and .NET Framework 4.6.1, you will need to install Hosting Bundle for it. Here is how;


Restart your IIS box.

Make sure App poll is using v4.0 of .NET CLR version.

This will also help to solve this error;

IIS: Handler “aspNetCore” has a bad module “AspNetCoreModuleV2” in its module list

Version of .Net Framework, IIS App Pool is using?

.Net Framework 4.5 was installed on my machine and on the IIS Application Pool, I set the .NET CLR version to 4.0.

The AppPool’s .NET CLR Version is different from the .NET Framework Version.

The AppPool’s .NET CLR Version is different from the .NET Framework Version.

The .NET CLR Version 4.0 is the CLR base for the following .NET Framework Versions:

  • 4
  • 4.5 (including 4.5.1 and 4.5.2)
  • 4.6 (including 4.6.1 and 4.6.2 Preview)

So having a .NET CLR Version of 4.0 just means you support the above Frameworks, which will run under their deployed framework version.

Source: https://learn.microsoft.com/en-us/dotnet/standard/clr#clr-versions

Here is a full mapping of CLR to .NET Framework versions, based off this official documentation. https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies#version-information

CLR 1.0

.NET Framework 1.0

CLR 1.1

.NET Framework 1.1

CLR 2.0

.NET Framework 2.0

.NET Framework 3.0

.NET Framework 3.5


.NET Framework 4

.NET Framework 4.5

.NET Framework 4.5.1

.NET Framework 4.5.2

.NET Framework 4.6

.NET Framework 4.6.1

.NET Framework 4.6.2

.NET Framework 4.7

.NET Framework 4.7.1

.NET Framework 4.7.2

.NET Framework 4.8