<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AMessner</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AMessner"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/AMessner"/>
	<updated>2026-09-10T17:14:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17219</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17219"/>
		<updated>2024-12-17T12:04:08Z</updated>

		<summary type="html">&lt;p&gt;AMessner: /* Integrity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
* TLS 1.3  uses Authenticated Encryption with Associated Data (AEAD) ciphers.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
* Older Implementations used MDC (Message Detection Code), or a simple Signature on a hash digest.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
* S/MIME specification advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17218</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17218"/>
		<updated>2024-12-17T12:03:49Z</updated>

		<summary type="html">&lt;p&gt;AMessner: /* Integrity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
* TLS 1.3 Authenticated Encryption with Associated Data (AEAD) ciphers.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
* Older Implementations used MDC (Message Detection Code), or a simple Signature on a hash digest.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
* S/MIME specification advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17217</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17217"/>
		<updated>2024-12-17T12:01:42Z</updated>

		<summary type="html">&lt;p&gt;AMessner: /* Integrity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
* TLS 1.3 Authenticated Encryption with Associated Data (AEAD) ciphers.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
* S/MIME specification advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17216</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17216"/>
		<updated>2024-12-17T12:00:10Z</updated>

		<summary type="html">&lt;p&gt;AMessner: /* Transport Layer Security (TLS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
* TLS 1.3 Authenticated Encryption with Associated Data (AEAD) cyphers.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
* S/MIME specification advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17215</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17215"/>
		<updated>2024-12-17T11:43:42Z</updated>

		<summary type="html">&lt;p&gt;AMessner: /* Secure/Multipurpose Internet Mail Extensions (S/MIME) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
* S/MIME specification advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17214</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17214"/>
		<updated>2024-12-17T11:42:24Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP advices to use AEAD algorithms.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17212</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17212"/>
		<updated>2024-12-17T10:59:14Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step guide to integrating S/MIME and OpenPGP into Thunderbird, enabling secure email communication through end-to-end encryption and digital signatures. It explains the processes for setting up both encryption methods, including certificate creation for S/MIME and key pair generation for OpenPGP.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client2&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client1&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
#* Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
#* Choose a Key type.&lt;br /&gt;
#* Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039; in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039; in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17194</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17194"/>
		<updated>2024-12-16T19:35:09Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client2&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client1&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
#* Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
#* Choose a Key type.&lt;br /&gt;
#* Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039; in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039; in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17193</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17193"/>
		<updated>2024-12-16T19:33:40Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client2&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client1&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17192</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17192"/>
		<updated>2024-12-16T19:29:58Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client2&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send cert.crt to Client1&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.crt&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17191</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17191"/>
		<updated>2024-12-16T19:25:08Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Setup_End-to-End_Encryption_Smime_bob_cert.PNG&amp;diff=17190</id>
		<title>File:Thunderbird-Setup End-to-End Encryption Smime bob cert.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Setup_End-to-End_Encryption_Smime_bob_cert.PNG&amp;diff=17190"/>
		<updated>2024-12-16T19:24:41Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17189</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17189"/>
		<updated>2024-12-16T19:23:50Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
* Example cert: &lt;br /&gt;
[[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Example cert:&lt;br /&gt;
[[File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Setup_End-to-End_Encryption_Smime_alice_cert.PNG&amp;diff=17188</id>
		<title>File:Thunderbird-Setup End-to-End Encryption Smime alice cert.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Setup_End-to-End_Encryption_Smime_alice_cert.PNG&amp;diff=17188"/>
		<updated>2024-12-16T19:23:17Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17187</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17187"/>
		<updated>2024-12-16T19:21:53Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
Example cert: [[File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17186</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17186"/>
		<updated>2024-12-16T19:21:18Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
Example cert: [[Thunderbird-Using_end-to-end_encryption_Smime_CA_cert.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Using_end-to-end_encryption_Smime_CA_cert.PNG&amp;diff=17185</id>
		<title>File:Thunderbird-Using end-to-end encryption Smime CA cert.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Thunderbird-Using_end-to-end_encryption_Smime_CA_cert.PNG&amp;diff=17185"/>
		<updated>2024-12-16T19:19:17Z</updated>

		<summary type="html">&lt;p&gt;AMessner: SMIME CA cert used in Example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
SMIME CA cert used in Example&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17184</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17184"/>
		<updated>2024-12-16T19:17:42Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts for Thunderbird&lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
== Integration of OpenPGP in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
OpenPGP enables end-to-end encryption in Thunderbird, ensuring secure communication through encrypted emails and digital signatures. The following steps outline the process for setting up OpenPGP in Thunderbird, creating key pairs, and exchanging public keys.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable OpenPGP in Thunderbird ===&lt;br /&gt;
# Open Thunderbird.&lt;br /&gt;
# Navigate to &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;&#039;Add Key&#039;&#039;&#039; to create a new OpenPGP key pair.&lt;br /&gt;
   * Select your Identity.&lt;br /&gt;
   * Optionally, set an expiration date for the key or leave it as &amp;quot;Never Expires.&amp;quot;&lt;br /&gt;
   * Choose a Key type.&lt;br /&gt;
   * Click &#039;&#039;&#039;Generate Key&#039;&#039;&#039;. Thunderbird will create the key pair and associate it with your email account.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Exporting Your Public Key ===&lt;br /&gt;
# Navigate to  &#039;&#039;&#039;Account Settings&#039;&#039;&#039; and select &#039;&#039;&#039;End-to-End Encryption&#039;&#039;&#039;.&lt;br /&gt;
# Navigate to the &#039;&#039;&#039;OpenPGP Key Manager&#039;&#039;&#039;:&lt;br /&gt;
# Locate your newly created key in the list.&lt;br /&gt;
# Right-click on your key and &#039;&#039;&#039;Select one of these Options to Share your Public Key&#039;&#039;&#039;:&lt;br /&gt;
#* Copy Public Key&lt;br /&gt;
#* Export Public Key To File&lt;br /&gt;
#* Send Public Key By Email&lt;br /&gt;
# Share the Public Key via Email, or other communication, with your Contact&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Importing Public Keys from Contacts ===&lt;br /&gt;
# When you receive a contact&#039;s public key&lt;br /&gt;
#* &#039;&#039;&#039;via Message:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Save the copied Public Key into a `.asc` File &amp;amp; Import it via OpenPGP Key Manager&lt;br /&gt;
#* &#039;&#039;&#039;via File:&#039;&#039;&#039; Open the **OpenPGP Key Manager** in Thunderbird, Click &#039;&#039;&#039;File &amp;gt; Import Keys from File&#039;&#039;&#039;, then select the `.asc` file you received.&lt;br /&gt;
#* &#039;&#039;&#039;via Email:&#039;&#039;&#039; double-click the `.asc` file in the email, and Thunderbird will prompt you to import the key &lt;br /&gt;
&lt;br /&gt;
By following these steps, you can successfully integrate OpenPGP into Thunderbird, enabling secure email communication with encryption and digital signatures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.nakivo.com/blog/virtualbox-network-setting-guide/&lt;br /&gt;
* https://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime&lt;br /&gt;
* https://dokuwiki.nausch.org/doku.php/centos:openpgp_beim_mua#openpgp_versus_s_mime&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17183</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17183"/>
		<updated>2024-12-16T18:42:24Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts &lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
** &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
*** Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17182</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17182"/>
		<updated>2024-12-16T18:40:05Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts &lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out ca.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl genrsa -des3 -out cert.key 4096&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -key cert.key -out cert.csr&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
   * &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
   * &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17181</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17181"/>
		<updated>2024-12-16T18:37:16Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts &lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
* Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
* Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
* Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Import the certificates as follows:&lt;br /&gt;
   * &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
   * &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17180</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17180"/>
		<updated>2024-12-16T18:36:40Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts &lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
# Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;openssl req -new -x509 -days 365 -key ca.key -out ca.crt&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Send ca.crt to both Clients&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
# Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
# Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
# Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Import the certificates as follows:&lt;br /&gt;
   * &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
   * &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17179</id>
		<title>Thunderbird: Setup End-to-End Encryption</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Thunderbird:_Setup_End-to-End_Encryption&amp;diff=17179"/>
		<updated>2024-12-16T18:31:49Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Created page with &amp;quot;== Summary ==   Description what this documentation is about.  == Requirements ==  * 2 Virtual Machines: Ubuntu 22.04.5 LTS * 2 Email-Accounts   == S/MIME in Thunderbird ==  === Step 1: Creating a Self-Signed Certificate (own CA) === # Generate the CA private key:    &amp;lt;pre&amp;gt;    openssl genrsa -des3 -out ca.key 4096    &amp;lt;/pre&amp;gt; # Create a self-signed certificate for the CA:    &amp;lt;pre&amp;gt;    openssl req -new -x509 -days 365 -key ca.key -out ca.crt    &amp;lt;/pre&amp;gt;  === Step 2: Creating a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 2 Virtual Machines: Ubuntu 22.04.5 LTS&lt;br /&gt;
* 2 Email-Accounts &lt;br /&gt;
&lt;br /&gt;
== S/MIME in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Creating a Self-Signed Certificate (own CA) ===&lt;br /&gt;
# Generate the CA private key:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a self-signed certificate for the CA:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -x509 -days 365 -key ca.key -out ca.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Creating a Certificate for Client1, Signed by Your Own CA ===&lt;br /&gt;
# Generate the private key for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a Certificate Signing Request (CSR) for Client1:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Sign the CSR with your CA to generate Client1&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Alice Smith&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Creating a Certificate for Client2, Signed by Your Own CA ===&lt;br /&gt;
# Generate the private key for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl genrsa -des3 -out cert.key 4096&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a Certificate Signing Request (CSR) for Client2:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Sign the CSR with your CA to generate Client2&#039;s certificate:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -out cert.crt&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Export the certificate and private key to a PKCS#12 file:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   openssl pkcs12 -export -in cert.crt -inkey cert.key -name &amp;quot;Bob Builder&amp;quot; -out cert.p12&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration in Thunderbird ===&lt;br /&gt;
# Open Thunderbird and navigate to:&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Certificates &amp;gt; Manage Certificates&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
# Import the certificates as follows:&lt;br /&gt;
   * &#039;&#039;&#039;On Client1&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (from Client2, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
   * &#039;&#039;&#039;On Client2&#039;&#039;&#039;:&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 1 certificate&#039;&#039;&#039; (&#039;&#039;ca.crt&#039;&#039;) under &#039;&#039;&#039;Authorities&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 3 certificate&#039;&#039;&#039; (your own, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;Your Certificates&#039;&#039;&#039;.&lt;br /&gt;
     * Import the &#039;&#039;&#039;Step 2 certificate&#039;&#039;&#039; (from Client1, &#039;&#039;cert.p12&#039;&#039;) under &#039;&#039;&#039;People&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
By completing these steps, S/MIME will be successfully integrated into Thunderbird, enabling secure email communication with encryption and digital signatures between the two clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17178</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17178"/>
		<updated>2024-12-16T18:12:52Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a detailed comparison and explanation of three major encryption methods used for securing email communication: Transport Layer Security (TLS), OpenPGP, and Secure/Multipurpose Internet Mail Extensions (S/MIME).&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP ensures message integrity with the MDC, which appends a cryptographic hash to the plaintext before encryption. If tampered, the hash comparison will fail upon decryption.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17177</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17177"/>
		<updated>2024-12-16T18:11:32Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses compression to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP ensures message integrity with the MDC, which appends a cryptographic hash to the plaintext before encryption. If tampered, the hash comparison will fail upon decryption.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash of the message is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17176</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17176"/>
		<updated>2024-12-16T18:03:20Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
#* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
#* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
#* Optional client authentication can occur here if needed.&lt;br /&gt;
#* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
#* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
#* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
#* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
* &#039;&#039;&#039;Encryption Only During Transmission:&#039;&#039;&#039; TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional end-to-end encryption encryption is used.&lt;br /&gt;
* &#039;&#039;&#039;No Guarantee of TLS Usage at Every Step in Communication:&#039;&#039;&#039; TLS cannot guarantee encryption for the entire journey of an email. After leaving the sender&#039;s device, emails often pass through multiple intermediary Mail Transfer Agents (MTAs) before reaching the recipient. If any of these MTAs do not support or enforce TLS, the email may be transmitted in plaintext, exposing it to potential interception. Additionally, the sender has no control over whether these intermediary MTAs adhere to TLS requirements, leaving a gap in secure delivery.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
OpenPGP is an encryption standard designed to provide end-to-end encryption, ensuring that only the intended recipient can read the message. It combines symmetric and asymmetric cryptography, as well as digital signatures, to achieve confidentiality, authenticity, and integrity. It uses Compresses to reduce the size of the email content before encryption. OpenPGP uses the Web of Trust or other communication channels to share Public Keys.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* OpenPGP uses symmetric encryption to encrypt the email content efficiently.&lt;br /&gt;
* The symmetric key (called the session key) is encrypted using the recipient&#039;s public key and attached to the email.&lt;br /&gt;
* Only the recipient can decrypt the session key using their private key, ensuring the message remains confidential.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* OpenPGP ensures message integrity with the MDC, which appends a cryptographic hash to the plaintext before encryption. If tampered, the hash comparison will fail upon decryption.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Digital signatures validate the sender&#039;s identity by linking the message to their private key. They also confirm the message’s integrity, ensuring it has not been altered.&lt;br /&gt;
&lt;br /&gt;
=== How OpenPGP operates ===&lt;br /&gt;
# Encryption Process:&lt;br /&gt;
#* The sender&#039;s OpenPGP implementation generates a random session key.&lt;br /&gt;
#* The email content is compressed and encrypted using the session key.&lt;br /&gt;
#* The session key is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
# Decryption Process:&lt;br /&gt;
#* The recipient decrypts the session key using their private key.&lt;br /&gt;
#* The session key is used to decrypt the email content.&lt;br /&gt;
#* If compression was used, the message is decompressed after decryption.&lt;br /&gt;
&lt;br /&gt;
# Digital Signature:&lt;br /&gt;
#* A hash of the email is created using a cryptographic hash function.&lt;br /&gt;
#* The hash is encrypted with the sender&#039;s private key to create the signature.&lt;br /&gt;
#* The recipient verifies the signature by decrypting the hash using the sender&#039;s public key.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Lack of Central Trust:&#039;&#039;&#039; Trust is established manually through the Web of Trust, unlike S/MIME&#039;s centralized PKI.&lt;br /&gt;
* &#039;&#039;&#039;Complexity:&#039;&#039;&#039; OpenPGP requires key management, which can be challenging for less technical users.&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
S/MIME is a standard for securing email communication with end-to-end encryption through encryption and digital signatures. Unlike OpenPGP, S/MIME relies on a centralized Public Key Infrastructure (PKI) to manage certificates, making it a more enterprise-friendly solution.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* S/MIME uses the CMS (Cryptographic Message Syntax) format for encryption.&lt;br /&gt;
* A symmetric Content Encryption Key (CEK) is used to encrypt the email content.&lt;br /&gt;
* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* Certificates issued by trusted Certificate Authorities (CAs) manage sender verification.&lt;br /&gt;
* Digital Signatures are used to verify the sender&#039;s identity, a hash is signed with the sender&#039;s private key.&lt;br /&gt;
&lt;br /&gt;
=== How S/MIME operates ===&lt;br /&gt;
# Encryption:&lt;br /&gt;
#* The sender generates a random CEK to encrypt the email content using a symmetric encryption algorithm.&lt;br /&gt;
#* The CEK is encrypted using the recipient&#039;s public key and attached to the message.&lt;br /&gt;
&lt;br /&gt;
# Decryption:&lt;br /&gt;
#* The recipient decrypts the CEK using their private key.&lt;br /&gt;
#* The CEK is then used to decrypt the email content.&lt;br /&gt;
&lt;br /&gt;
# Digital Signatures:&lt;br /&gt;
#* A hash of the email content is signed using the sender&#039;s private key.&lt;br /&gt;
#* The recipient verifies the signature using the sender&#039;s public key, ensuring authenticity and integrity.&lt;br /&gt;
&lt;br /&gt;
==== Message Formats ====&lt;br /&gt;
* &#039;&#039;&#039;Application/PKCS7-MIME:&#039;&#039;&#039; Encapsulates the entire message and signature, requiring the recipient to have S/MIME support to read the content.&lt;br /&gt;
* &#039;&#039;&#039;Multipart/Signed:&#039;&#039;&#039; Keeps the email content in plain text while attaching the signature separately, enabling compatibility with non-S/MIME clients.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* &#039;&#039;&#039;Dependence on PKI:&#039;&#039;&#039; Users and organizations rely on third-party Certificate Authorities.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! TLS !! OpenPGP !! S/MIME&lt;br /&gt;
|-&lt;br /&gt;
| Encryption Scope || Transport only || End-to-end || End-to-end&lt;br /&gt;
|-&lt;br /&gt;
| Certificate Management || Centralized (PKI) || Decentralized (Web of Trust) || Centralized (PKI)&lt;br /&gt;
|-&lt;br /&gt;
| Digital Signatures || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Key Management || Transparent to users || Manual (user-controlled) || Automated (certificate-based)&lt;br /&gt;
|-&lt;br /&gt;
| Complexity || Low || Moderate || Moderate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* TLS: https://datatracker.ietf.org/doc/html/rfc8446&lt;br /&gt;
* OpenPGP: https://datatracker.ietf.org/doc/html/rfc9580&lt;br /&gt;
* S/MIME: https://datatracker.ietf.org/doc/html/rfc8551&lt;br /&gt;
* Cryptographic Message Syntax (CMS): https://datatracker.ietf.org/doc/html/rfc3852&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17174</id>
		<title>E-Mail Security</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=E-Mail_Security&amp;diff=17174"/>
		<updated>2024-12-16T17:15:23Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Created page with &amp;quot;== Summary ==   Description what this documentation is about.  == Transport Layer Security (TLS) == TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.  === Confidentiality === * Data is encrypted during transit to ensure it cannot be intercepted and read. * TLS uses asymmetric encryption...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Transport Layer Security (TLS) ==&lt;br /&gt;
TLS is a cryptographic protocol that secures communications over a network by providing confidentiality, integrity, and authentication. It is commonly used to secure connections between a client and a server, as well as between servers.&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
* Data is encrypted during transit to ensure it cannot be intercepted and read.&lt;br /&gt;
* TLS uses asymmetric encryption during the handshake phase to securely exchange a symmetric session key, which is then used for fast and efficient encryption of the data.&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
* Message Authentication Codes (MACs) ensure that any modification of the transmitted data is detected.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
* TLS uses digital certificates issued by trusted Certificate Authorities (CAs) to confirm the identity of the communicating parties.&lt;br /&gt;
* The server presents its certificate to the client during the handshake phase to prove its legitimacy.&lt;br /&gt;
* Optionally, mutual authentication can occur, where the client also provides its certificate.&lt;br /&gt;
&lt;br /&gt;
=== How TLS operates ===&lt;br /&gt;
TLS operates in two stages:&lt;br /&gt;
&lt;br /&gt;
# TLS Handshake Protocol&lt;br /&gt;
* This phase negotiates security parameters, including the cryptographic algorithms to be used (cipher suites).&lt;br /&gt;
* The server sends its certificate to the client, which verifies the certificate against trusted CAs.&lt;br /&gt;
* Optional client authentication can occur here if needed.&lt;br /&gt;
* A session key, that will be used as a symmetric key, is exchanged using encrypted key-exchange.&lt;br /&gt;
* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
# TLS Record Protocol&lt;br /&gt;
* After the handshake, the Record Protocol manages the symmetric encrypted transmission of data.&lt;br /&gt;
* Data is encrypted using the session key established during the handshake.&lt;br /&gt;
* MACs ensure that data integrity is preserved.&lt;br /&gt;
&lt;br /&gt;
=== Limitations === &lt;br /&gt;
*In-Transit Only: TLS protects emails only during transmission. Once the email reaches the server or the recipient&#039;s device, the content is unencrypted and stored as plain text unless additional encryption is used.&lt;br /&gt;
*Intermediary MTAs: The sender cannot enforce TLS on intermediary Mail Transfer Agents (MTAs). Some MTAs may not support TLS, leaving messages vulnerable during transit.&lt;br /&gt;
&lt;br /&gt;
== OpenPGP ==&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Secure/Multipurpose Internet Mail Extensions (S/MIME) ==&lt;br /&gt;
&lt;br /&gt;
=== Confidentiality ===&lt;br /&gt;
&lt;br /&gt;
=== Integrity ===&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2024)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Frida:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14716</id>
		<title>Frida: Root Detection &amp; Certificate Pinning Bypass</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Frida:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14716"/>
		<updated>2024-06-20T18:16:10Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Created page with &amp;quot;Frida Logo == Summary ==   This documentation provides detailed instructions for setting up and using Frida to bypass root detection and certificate pinning on an Android emulator. It includes steps for installing necessary tools, configuring the environment, and running specific commands to test and bypass security mechanisms in mobile applications.  == Requirements ==  * Operating System: Kali Linux * Pip installed on your Syst...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Frida_logo.PNG|300px|thumb|right|Frida Logo]]&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
This documentation provides detailed instructions for setting up and using Frida to bypass root detection and certificate pinning on an Android emulator. It includes steps for installing necessary tools, configuring the environment, and running specific commands to test and bypass security mechanisms in mobile applications.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating System: Kali Linux&lt;br /&gt;
* Pip installed on your System&lt;br /&gt;
* Installed Android Studio ([https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Guide])&lt;br /&gt;
* Android Studio emulator with a Non-production android image ([https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Guide])&lt;br /&gt;
* Installed Apps on the emulator device (Twitter, Paypal, [https://github.com/satishpatnayak/AndroGoat AndroGoat])&lt;br /&gt;
* Installed [https://portswigger.net/burp Burpsuite]&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Install the following things using pip:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install Frida&lt;br /&gt;
&lt;br /&gt;
pip install objection&lt;br /&gt;
&lt;br /&gt;
pip install frida-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add this path to ~./bashrc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export PATH=$PATH:/home/kali/.local/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save &amp;amp; Exit the file.&lt;br /&gt;
&lt;br /&gt;
Execute the bashrc file to make the changes effective:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To check if variables are added to PATH:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the frida-server ===&lt;br /&gt;
The frida-server will run on the emulator.&lt;br /&gt;
&lt;br /&gt;
Find out which architecture the virtual device has.&lt;br /&gt;
&lt;br /&gt;
If you followed the Android Studio setup the return should be: &#039;&#039;&#039;x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb shell getprop ro.product.cpu.abi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Download the frida-server from [https://github.com/frida/frida/releases Github].&lt;br /&gt;
&lt;br /&gt;
At the time of testing the latest version is 16.2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frida-server-16.2.1-android-x86.xz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_server_datei.PNG]]&lt;br /&gt;
&lt;br /&gt;
Go to the Downloads directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd Downloads/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Unzip the downloaded file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xz -d frida-server-16.2.1-android-x86.xz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rename the file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv frida-server-16.2.1-android-x86 frida-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Start adb as root (only possible if the emulator is without Google Play)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb root&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Push the frida-server to the emulator&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb push frida-server /data/local/tmp/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make it executable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb shell &amp;quot;chmod +x /data/local/tmp/frida-server&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run the frida-server in the background&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb shell &amp;quot;/data/local/tmp/frida-server&amp;quot; &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
List all processes running on the device to make sure frida-server is running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida-ps -Uia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Root detection bypass using frida-server ==&lt;br /&gt;
&lt;br /&gt;
For testing purposes we use the Uncrackable L1 Apk from OWASP.&lt;br /&gt;
&lt;br /&gt;
=== Download UnCrackable L1 Apk ===&lt;br /&gt;
&lt;br /&gt;
Download the [https://mas.owasp.org/crackmes/ Android UnCrackable L1 Apk]&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_uncrackable.PNG]]&lt;br /&gt;
&lt;br /&gt;
Run the emulator&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install the apk on the device&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb install UnCrackable-Level1.apk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command outputs the package names for the processes running on the device, only works if the frida-server is still running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida-ps -Uia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When opening the UnCrackable-Level1.apk it states the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_uncrackable_devicescreen.PNG]]&lt;br /&gt;
&lt;br /&gt;
To bypass this we use a frida codeshare command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida --codeshare dzonerzy/fridantiroot -f owasp.mstg.uncrackable1 -U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The terminal should look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_rootbypass_cli.PNG]]&lt;br /&gt;
&lt;br /&gt;
Now the UnCrackable-Level1.apk should start without the root detection warning:&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_uncrackable_devicescreen_afterbypass.PNG]]&lt;br /&gt;
&lt;br /&gt;
==== Errors? ====&lt;br /&gt;
If any error with the frida-server occurs, it is possible that an old server is already running. &lt;br /&gt;
For this you have to look up running servers in the shell. &lt;br /&gt;
Don&#039;t forget to run &#039;&#039;&#039;adb as root&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb shell&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps -e | grep frida-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If any server is running, kill it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill -9 &amp;lt;process-id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can start a new server.&lt;br /&gt;
&lt;br /&gt;
== Certificate Pinning Bypass using frida-server ==&lt;br /&gt;
&lt;br /&gt;
In order to intercept the communication to the internet of the device, you have to connect it to the Burp Suite proxy.&lt;br /&gt;
&lt;br /&gt;
Frida should be running on the device.&lt;br /&gt;
&lt;br /&gt;
If it is not already use this command to start the server.&lt;br /&gt;
Don&#039;t forget to run adb as root before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb shell &amp;quot;/data/local/tmp/frida-server&amp;quot; &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the codeshare command to bypass certificate pinning:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida --codeshare masbog/frida-android-unpinning-ssl -U -f &amp;lt;APP-PACKAGE_NAME&amp;gt; -U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
&lt;br /&gt;
Twitter has certificate pinning checks, which means we have to start it with the frida command to intercept the traffic.&lt;br /&gt;
Otherwise, Twitter won&#039;t allow you to open the login page.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida --codeshare masbog/frida-android-unpinning-ssl -U -f com.twitter.android -U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now we can click on login and capture the encrypted messages in Burp Suite.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twitter:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_twitter_login.PNG]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Burp Suite:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_burpsuite_twitter_login.PNG]]&lt;br /&gt;
&lt;br /&gt;
=== PayPal ===&lt;br /&gt;
&lt;br /&gt;
Another popular app which has certificate pinning is PayPal.&lt;br /&gt;
But unlike Twitter, PayPal doesn&#039;t encrypt their login requests.&lt;br /&gt;
This means we are able to read credentials in cleartext, once we bypassed the certificate pinning.&lt;br /&gt;
&lt;br /&gt;
Download the newest version of PayPal onto your device and find out the package name with frida.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida-ps -Uia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When starting PayPal normally it will display an error about the internet connection.&lt;br /&gt;
This is because the certificate pinning check will detect your Burp Suite proxy.&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_paypal_login.PNG]]&lt;br /&gt;
&lt;br /&gt;
We start the app again with frida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida --codeshare masbog/frida-android-unpinning-ssl -U -f com.paypal.android.p2pmobile -U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now we won&#039;t get any error message when logging in.&lt;br /&gt;
When looking into Burp Suite we can see a request to /v1/mfsauth/proxy-auth/token.&lt;br /&gt;
&lt;br /&gt;
In the middle of the green text, the password is highlighted, also as the last the pair, email information is visible.&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_burpsuite_paypal_login.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Root and SSL bypass as one ==&lt;br /&gt;
&lt;br /&gt;
So far we&#039;ve only tried doing either just root detection or just SSL pinning alone.&lt;br /&gt;
But in order to bypass both of them at the same time we can use the frida codeshare.&lt;br /&gt;
&lt;br /&gt;
* For our test we use the root detection bypass by dzonerzy: https://codeshare.frida.re/@dzonerzy/fridantiroot/&lt;br /&gt;
&lt;br /&gt;
* And the SSL pinning bypass by masbog: https://codeshare.frida.re/@masbog/frida-android-unpinning-ssl/&lt;br /&gt;
&lt;br /&gt;
To use both at the same time we will copy the code of those bypasses and paste them into a text file on our local machine.&lt;br /&gt;
&lt;br /&gt;
Now we have a file, for example &#039;&#039;&#039;rootandssl.txt&#039;&#039;&#039; where both codes are contained.&lt;br /&gt;
&lt;br /&gt;
Here is &#039;&#039;&#039;our file containing both bypasses&#039;&#039;&#039; uploaded to: https://file.io/6fxSi8IMHqwZ&lt;br /&gt;
&lt;br /&gt;
It is possible to add as many scripts as you like.&lt;br /&gt;
&lt;br /&gt;
To execute our own file we will use the following frida command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
frida -l rootandssl.txt -f &amp;lt;APP_PACKAGE_NAME&amp;gt; -U&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In an app like AndroGoat.apk we can check if both test cases will work.&lt;br /&gt;
&lt;br /&gt;
[[File:Frida_custom_script_execution.PNG]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://frida.re/ Frida]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/tests/android/MASVS-RESILIENCE/MASTG-TEST-0045/ OWASP Testing Root Detection]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/Android/0x05j-Testing-Resiliency-Against-Reverse-Engineering/ OWASP Testing Resiliency Against Reverse Engineering]&lt;br /&gt;
* [https://www.indusface.com/learning/how-to-implement-root-detection-in-android-applications/ Root Detection Explaination]&lt;br /&gt;
* [https://sec-consult.com/de/blog/detail/android-mobile-root-detection-allheilmittel-gegen-angriffe/ Root Detection Explaination]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0012/ OWASP Bypassing Certificate Pinning]&lt;br /&gt;
* [https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning Certificate Pinning Explaination]&lt;br /&gt;
* [https://portswigger.net/burp Burpsuite]&lt;br /&gt;
* [https://github.com/satishpatnayak/MyTest/blob/master/AndroGoat.apk AndroGoat APK]&lt;br /&gt;
* [https://www.apkmirror.com/ APKMirror] &lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_custom_script_execution.PNG&amp;diff=14715</id>
		<title>File:Frida custom script execution.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_custom_script_execution.PNG&amp;diff=14715"/>
		<updated>2024-06-20T18:14:51Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Frida Server execution with a custom script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Frida Server execution with a custom script&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_burpsuite_paypal_login.PNG&amp;diff=14714</id>
		<title>File:Frida burpsuite paypal login.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_burpsuite_paypal_login.PNG&amp;diff=14714"/>
		<updated>2024-06-20T18:09:44Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Burpsuite while Paypal Login with Certificate Pinning Bypass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Burpsuite while Paypal Login with Certificate Pinning Bypass&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_paypal_login.PNG&amp;diff=14713</id>
		<title>File:Frida paypal login.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_paypal_login.PNG&amp;diff=14713"/>
		<updated>2024-06-20T18:08:32Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Paypal Login&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Paypal Login&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_burpsuite_twitter_login.PNG&amp;diff=14712</id>
		<title>File:Frida burpsuite twitter login.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_burpsuite_twitter_login.PNG&amp;diff=14712"/>
		<updated>2024-06-20T18:07:08Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Burpsuite while Twitter Login was captured&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Burpsuite while Twitter Login was captured&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_twitter_login.PNG&amp;diff=14711</id>
		<title>File:Frida twitter login.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_twitter_login.PNG&amp;diff=14711"/>
		<updated>2024-06-20T18:06:15Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Login Screen of Twitter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Login Screen of Twitter&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable_devicescreen_afterbypass.PNG&amp;diff=14710</id>
		<title>File:Frida uncrackable devicescreen afterbypass.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable_devicescreen_afterbypass.PNG&amp;diff=14710"/>
		<updated>2024-06-20T18:04:58Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Uncrackable App after Frida Root Detection Bypass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Uncrackable App after Frida Root Detection Bypass&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_rootbypass_cli.PNG&amp;diff=14709</id>
		<title>File:Frida rootbypass cli.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_rootbypass_cli.PNG&amp;diff=14709"/>
		<updated>2024-06-20T18:03:15Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of Fridas CLI while Root Detection Bypass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of Fridas CLI while Root Detection Bypass&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable_devicescreen.PNG&amp;diff=14708</id>
		<title>File:Frida uncrackable devicescreen.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable_devicescreen.PNG&amp;diff=14708"/>
		<updated>2024-06-20T18:01:55Z</updated>

		<summary type="html">&lt;p&gt;AMessner: OWASP Uncrackable App Device Screen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
OWASP Uncrackable App Device Screen&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable.PNG&amp;diff=14707</id>
		<title>File:Frida uncrackable.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_uncrackable.PNG&amp;diff=14707"/>
		<updated>2024-06-20T18:00:53Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Image of OWASP Uncrackable APK Logo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Image of OWASP Uncrackable APK Logo&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_server_datei.PNG&amp;diff=14706</id>
		<title>File:Frida server datei.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_server_datei.PNG&amp;diff=14706"/>
		<updated>2024-06-20T17:58:46Z</updated>

		<summary type="html">&lt;p&gt;AMessner: image of zipped frida server file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
image of zipped frida server file&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_logo.PNG&amp;diff=14705</id>
		<title>File:Frida logo.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Frida_logo.PNG&amp;diff=14705"/>
		<updated>2024-06-20T17:56:38Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Logo of Frida&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Logo of Frida&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14698</id>
		<title>MobSF: Root Detection &amp; Certificate Pinning Bypass</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14698"/>
		<updated>2024-06-20T17:32:39Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MobSF Logo.png|300px|thumb|right|MobSF Logo]]&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
This documentation provides step-by-step instructions for setting up and using MobSF (Mobile Security Framework) for dynamic analysis on Kali Linux. It covers the setup process, bypassing root detection using default and custom scripts, and bypassing SSL pinning. Detailed commands and screenshots are included to ensure successful implementation.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating System: Kali Linux&lt;br /&gt;
* Installed Android Studio ([https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Guide])&lt;br /&gt;
* Android Studio emulator with a Non-production android image ([https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Guide])&lt;br /&gt;
* Installed Apps on the emulator device&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Use the following commands in the terminal: &lt;br /&gt;
&lt;br /&gt;
Install Git&lt;br /&gt;
 sudo apt-get install git&lt;br /&gt;
&lt;br /&gt;
Install Python 3.8&lt;br /&gt;
 sudo apt-get install python3.8&lt;br /&gt;
&lt;br /&gt;
Install the latest version of &#039;&#039;&#039;JDK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.oracle.com/java/technologies/downloads/ Oracle Downloads]&lt;br /&gt;
&lt;br /&gt;
Install the required dependencies&lt;br /&gt;
 sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg62-turbo-dev zlib1g-dev wkhtmltopdf&lt;br /&gt;
&lt;br /&gt;
Clone the MobSF repository&lt;br /&gt;
 git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git&lt;br /&gt;
&lt;br /&gt;
Change working directory to MobSF&lt;br /&gt;
 cd Mobile-Security-Framework-MobSF/&lt;br /&gt;
&lt;br /&gt;
Setup MobSF&lt;br /&gt;
 ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Run MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
Access the MobSF web interface with the following URL http://127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
== Root Detection Bypass using MobSF ==&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Default Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The Error &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
4. Wait for successful boot of MobSF, the CLI should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_sucessfulboot.png]]&lt;br /&gt;
&lt;br /&gt;
5. Open MobSF in the Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
6. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. The CLI output of MobSF should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_start.png]]&lt;br /&gt;
&lt;br /&gt;
8. Now Select &amp;quot;Root Detection Bypass&amp;quot; under the Default headline&lt;br /&gt;
&lt;br /&gt;
9. Press Spawn&amp;amp;Inject, wait for the Application to Startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works, so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 10.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you followed the Steps in this order, your MobSF CLI should look like this, as you successfully bypassed Root Detection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_successful_rootbypass.png]]&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Custom Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The ERROR &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
4. Open MobSF in Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
5. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to Test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Now copy &amp;amp; paste the [https://codeshare.frida.re/@dzonerzy/fridantiroot/ fridaantiroot script] into the window on the right in MobSF (Script Window)&lt;br /&gt;
&lt;br /&gt;
7. Press Spawn&amp;amp;Inject, wait for the Application to startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 8.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
== SSL Pinning Bypass using MobSF ==&lt;br /&gt;
1. Start emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
3. Start Dynamic Analysis of your App&lt;br /&gt;
Select your App &amp;amp; press Start Dynamic Analysis&lt;br /&gt;
&lt;br /&gt;
4. Choose Configurations&lt;br /&gt;
* Select &#039;&#039;&#039;SSL Pinning Bypass&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;Root CA is installed&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;HTTP(S) Proxy is set &#039;&#039;&#039;&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_config1.png]]&lt;br /&gt;
&lt;br /&gt;
5. Spawn &amp;amp; Inject&lt;br /&gt;
&lt;br /&gt;
6. Test the App, do your Activities&lt;br /&gt;
&lt;br /&gt;
7. Press Generate Report, the creation can take a while.&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_generatereport.png]]&lt;br /&gt;
&lt;br /&gt;
8. Then you are able to see the Logs&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_logs.png]]&lt;br /&gt;
    &lt;br /&gt;
* &#039;&#039;&#039;Start HTTPTools:&#039;&#039;&#039; Launches tool to analyze HTTP(S) traffic between the mobile application and the server.&lt;br /&gt;
* &#039;&#039;&#039;Frida Logs:&#039;&#039;&#039; Displays logs generated by Frida, a dynamic instrumentation toolkit used for runtime manipulation of applications.&lt;br /&gt;
* &#039;&#039;&#039;HTTP(S) Traffic:&#039;&#039;&#039; Shows the captured HTTP and HTTPS traffic logs.&lt;br /&gt;
* &#039;&#039;&#039;Logcat Logs:&#039;&#039;&#039; Provides logs from Logcat, a system-wide logging utility for Android.&lt;br /&gt;
* &#039;&#039;&#039;Dumpsys Logs:&#039;&#039;&#039; Displays logs generated by the dumpsys tool, which provides detailed information about the system and application state.&lt;br /&gt;
* &#039;&#039;&#039;Application Data:&#039;&#039;&#039; Downloads the application&#039;s data stored on the device.&lt;br /&gt;
&lt;br /&gt;
=== HTTPTools ===&lt;br /&gt;
&lt;br /&gt;
In HTTPTools you can analyze HTTP(S) traffic. &lt;br /&gt;
You also have the Option to replay your captured traffic to a Fuzzer(Burpsuite).&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_httptools.png]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://mobsf.github.io/docs/#/ MobSF Documentation]&lt;br /&gt;
* [https://github.com/MobSF/Mobile-Security-Framework-MobSF MobSF Github]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/tests/android/MASVS-RESILIENCE/MASTG-TEST-0045/ OWASP Testing Root Detection]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/Android/0x05j-Testing-Resiliency-Against-Reverse-Engineering/ OWASP Testing Resiliency Against Reverse Engineering]&lt;br /&gt;
* [https://www.indusface.com/learning/how-to-implement-root-detection-in-android-applications/ Root Detection Explaination]&lt;br /&gt;
* [https://sec-consult.com/de/blog/detail/android-mobile-root-detection-allheilmittel-gegen-angriffe/ Root Detection Explaination]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0012/ OWASP Bypassing Certificate Pinning]&lt;br /&gt;
* [https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning Certificate Pinning Explaination]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14697</id>
		<title>MobSF: Root Detection &amp; Certificate Pinning Bypass</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14697"/>
		<updated>2024-06-20T17:31:40Z</updated>

		<summary type="html">&lt;p&gt;AMessner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MobSF Logo.png|300px|thumb|right|MobSF Logo]]&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
This documentation provides step-by-step instructions for setting up and using MobSF (Mobile Security Framework) for dynamic analysis on Kali Linux. It covers the setup process, bypassing root detection using default and custom scripts, and bypassing SSL pinning. Detailed commands and screenshots are included to ensure successful implementation.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating System: Kali Linux&lt;br /&gt;
* Installed Android Studio [https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Installation Guide]&lt;br /&gt;
* Android Studio emulator with a Non-production android image [https://wiki.elvis.science/index.php?title=Android_Studio:_Emulator Installation Guide]&lt;br /&gt;
* Installed Apps on the emulator device&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Use the following commands in the terminal: &lt;br /&gt;
&lt;br /&gt;
Install Git&lt;br /&gt;
 sudo apt-get install git&lt;br /&gt;
&lt;br /&gt;
Install Python 3.8&lt;br /&gt;
 sudo apt-get install python3.8&lt;br /&gt;
&lt;br /&gt;
Install the latest version of &#039;&#039;&#039;JDK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.oracle.com/java/technologies/downloads/ Oracle Downloads]&lt;br /&gt;
&lt;br /&gt;
Install the required dependencies&lt;br /&gt;
 sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg62-turbo-dev zlib1g-dev wkhtmltopdf&lt;br /&gt;
&lt;br /&gt;
Clone the MobSF repository&lt;br /&gt;
 git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git&lt;br /&gt;
&lt;br /&gt;
Change working directory to MobSF&lt;br /&gt;
 cd Mobile-Security-Framework-MobSF/&lt;br /&gt;
&lt;br /&gt;
Setup MobSF&lt;br /&gt;
 ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Run MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
Access the MobSF web interface with the following URL http://127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
== Root Detection Bypass using MobSF ==&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Default Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The Error &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
4. Wait for successful boot of MobSF, the CLI should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_sucessfulboot.png]]&lt;br /&gt;
&lt;br /&gt;
5. Open MobSF in the Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
6. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. The CLI output of MobSF should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_start.png]]&lt;br /&gt;
&lt;br /&gt;
8. Now Select &amp;quot;Root Detection Bypass&amp;quot; under the Default headline&lt;br /&gt;
&lt;br /&gt;
9. Press Spawn&amp;amp;Inject, wait for the Application to Startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works, so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 10.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you followed the Steps in this order, your MobSF CLI should look like this, as you successfully bypassed Root Detection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_successful_rootbypass.png]]&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Custom Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The ERROR &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
4. Open MobSF in Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
5. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to Test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Now copy &amp;amp; paste the [https://codeshare.frida.re/@dzonerzy/fridantiroot/ fridaantiroot script] into the window on the right in MobSF (Script Window)&lt;br /&gt;
&lt;br /&gt;
7. Press Spawn&amp;amp;Inject, wait for the Application to startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 8.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
== SSL Pinning Bypass using MobSF ==&lt;br /&gt;
1. Start emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
3. Start Dynamic Analysis of your App&lt;br /&gt;
Select your App &amp;amp; press Start Dynamic Analysis&lt;br /&gt;
&lt;br /&gt;
4. Choose Configurations&lt;br /&gt;
* Select &#039;&#039;&#039;SSL Pinning Bypass&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;Root CA is installed&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;HTTP(S) Proxy is set &#039;&#039;&#039;&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_config1.png]]&lt;br /&gt;
&lt;br /&gt;
5. Spawn &amp;amp; Inject&lt;br /&gt;
&lt;br /&gt;
6. Test the App, do your Activities&lt;br /&gt;
&lt;br /&gt;
7. Press Generate Report, the creation can take a while.&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_generatereport.png]]&lt;br /&gt;
&lt;br /&gt;
8. Then you are able to see the Logs&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_logs.png]]&lt;br /&gt;
    &lt;br /&gt;
* &#039;&#039;&#039;Start HTTPTools:&#039;&#039;&#039; Launches tool to analyze HTTP(S) traffic between the mobile application and the server.&lt;br /&gt;
* &#039;&#039;&#039;Frida Logs:&#039;&#039;&#039; Displays logs generated by Frida, a dynamic instrumentation toolkit used for runtime manipulation of applications.&lt;br /&gt;
* &#039;&#039;&#039;HTTP(S) Traffic:&#039;&#039;&#039; Shows the captured HTTP and HTTPS traffic logs.&lt;br /&gt;
* &#039;&#039;&#039;Logcat Logs:&#039;&#039;&#039; Provides logs from Logcat, a system-wide logging utility for Android.&lt;br /&gt;
* &#039;&#039;&#039;Dumpsys Logs:&#039;&#039;&#039; Displays logs generated by the dumpsys tool, which provides detailed information about the system and application state.&lt;br /&gt;
* &#039;&#039;&#039;Application Data:&#039;&#039;&#039; Downloads the application&#039;s data stored on the device.&lt;br /&gt;
&lt;br /&gt;
=== HTTPTools ===&lt;br /&gt;
&lt;br /&gt;
In HTTPTools you can analyze HTTP(S) traffic. &lt;br /&gt;
You also have the Option to replay your captured traffic to a Fuzzer(Burpsuite).&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_httptools.png]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://mobsf.github.io/docs/#/ MobSF Documentation]&lt;br /&gt;
* [https://github.com/MobSF/Mobile-Security-Framework-MobSF MobSF Github]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/tests/android/MASVS-RESILIENCE/MASTG-TEST-0045/ OWASP Testing Root Detection]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/Android/0x05j-Testing-Resiliency-Against-Reverse-Engineering/ OWASP Testing Resiliency Against Reverse Engineering]&lt;br /&gt;
* [https://www.indusface.com/learning/how-to-implement-root-detection-in-android-applications/ Root Detection Explaination]&lt;br /&gt;
* [https://sec-consult.com/de/blog/detail/android-mobile-root-detection-allheilmittel-gegen-angriffe/ Root Detection Explaination]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0012/ OWASP Bypassing Certificate Pinning]&lt;br /&gt;
* [https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning Certificate Pinning Explaination]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14696</id>
		<title>MobSF: Root Detection &amp; Certificate Pinning Bypass</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=MobSF:_Root_Detection_%26_Certificate_Pinning_Bypass&amp;diff=14696"/>
		<updated>2024-06-20T17:22:51Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Created page with &amp;quot;MobSF Logo == Summary ==   This documentation provides step-by-step instructions for setting up and using MobSF (Mobile Security Framework) for dynamic analysis on Kali Linux. It covers the setup process, bypassing root detection using default and custom scripts, and bypassing SSL pinning. Detailed commands and screenshots are included to ensure successful implementation.  == Requirements ==  * Operating System: Kali Linux * Inst...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MobSF Logo.png|300px|thumb|right|MobSF Logo]]&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
This documentation provides step-by-step instructions for setting up and using MobSF (Mobile Security Framework) for dynamic analysis on Kali Linux. It covers the setup process, bypassing root detection using default and custom scripts, and bypassing SSL pinning. Detailed commands and screenshots are included to ensure successful implementation.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating System: Kali Linux&lt;br /&gt;
* Installed Android Studio&lt;br /&gt;
* Android Studio emulator with a Non-production android image&lt;br /&gt;
* Installed Apps on the emulator device&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Use the following commands in the terminal: &lt;br /&gt;
&lt;br /&gt;
Install Git&lt;br /&gt;
 sudo apt-get install git&lt;br /&gt;
&lt;br /&gt;
Install Python 3.8&lt;br /&gt;
 sudo apt-get install python3.8&lt;br /&gt;
&lt;br /&gt;
Install the latest version of &#039;&#039;&#039;JDK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.oracle.com/java/technologies/downloads/ Oracle Downloads]&lt;br /&gt;
&lt;br /&gt;
Install the required dependencies&lt;br /&gt;
 sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg62-turbo-dev zlib1g-dev wkhtmltopdf&lt;br /&gt;
&lt;br /&gt;
Clone the MobSF repository&lt;br /&gt;
 git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git&lt;br /&gt;
&lt;br /&gt;
Change working directory to MobSF&lt;br /&gt;
 cd Mobile-Security-Framework-MobSF/&lt;br /&gt;
&lt;br /&gt;
Setup MobSF&lt;br /&gt;
 ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Run MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
Access the MobSF web interface with the following URL http://127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
== Root Detection Bypass using MobSF ==&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Default Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The Error &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
4. Wait for successful boot of MobSF, the CLI should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_sucessfulboot.png]]&lt;br /&gt;
&lt;br /&gt;
5. Open MobSF in the Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
6. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. The CLI output of MobSF should look like this&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_start.png]]&lt;br /&gt;
&lt;br /&gt;
8. Now Select &amp;quot;Root Detection Bypass&amp;quot; under the Default headline&lt;br /&gt;
&lt;br /&gt;
9. Press Spawn&amp;amp;Inject, wait for the Application to Startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works, so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 10.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you followed the Steps in this order, your MobSF CLI should look like this, as you successfully bypassed Root Detection.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_successful_rootbypass.png]]&lt;br /&gt;
&lt;br /&gt;
=== Root Detection Bypass using Custom Scripts ===&lt;br /&gt;
&#039;&#039;&#039;Follow the steps exactly in the shown order!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Start your emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Wait for the successful boot of the device&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The ERROR &amp;quot;Unable to connect to adb daemon on port:5037&amp;quot; has no impact on successful boot.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
4. Open MobSF in Browser (http://127.0.0.1:8000/)&lt;br /&gt;
&lt;br /&gt;
5. Click on Dynamic Analyzer -&amp;gt; Android Dynamic Analyzer -&amp;gt; Select the App you want to Test -&amp;gt; Click on &amp;quot;Start Dynamic Analysis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Now copy &amp;amp; paste the [https://codeshare.frida.re/@dzonerzy/fridantiroot/ fridaantiroot script] into the window on the right in MobSF (Script Window)&lt;br /&gt;
&lt;br /&gt;
7. Press Spawn&amp;amp;Inject, wait for the Application to startup &amp;amp; leave it open like it is&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Here the Root Detection still works so you should see a notification, as MobSF First Spawns &amp;amp; then injects the script, therefore you need to restart the application as shown in Step 8.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. As the Application is still opened, press &amp;quot;StartActivity&amp;quot; to startup the Application with Root Detection Bypass&lt;br /&gt;
&lt;br /&gt;
== SSL Pinning Bypass using MobSF ==&lt;br /&gt;
1. Start emulator&lt;br /&gt;
 emulator -avd Pixel_6_Pro_API_28 -writable-system -no-snapshot&lt;br /&gt;
&lt;br /&gt;
2. Start MobSF&lt;br /&gt;
 ./run.sh 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
3. Start Dynamic Analysis of your App&lt;br /&gt;
Select your App &amp;amp; press Start Dynamic Analysis&lt;br /&gt;
&lt;br /&gt;
4. Choose Configurations&lt;br /&gt;
* Select &#039;&#039;&#039;SSL Pinning Bypass&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;Root CA is installed&#039;&#039;&#039;&lt;br /&gt;
* Check if &#039;&#039;&#039;HTTP(S) Proxy is set &#039;&#039;&#039;&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_config1.png]]&lt;br /&gt;
&lt;br /&gt;
5. Spawn &amp;amp; Inject&lt;br /&gt;
&lt;br /&gt;
6. Test the App, do your Activities&lt;br /&gt;
&lt;br /&gt;
7. Press Generate Report, the creation can take a while.&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_generatereport.png]]&lt;br /&gt;
&lt;br /&gt;
8. Then you are able to see the Logs&lt;br /&gt;
    &lt;br /&gt;
[[File:Mobsf_dynamicanalysis_logs.png]]&lt;br /&gt;
    &lt;br /&gt;
* &#039;&#039;&#039;Start HTTPTools:&#039;&#039;&#039; Launches tool to analyze HTTP(S) traffic between the mobile application and the server.&lt;br /&gt;
* &#039;&#039;&#039;Frida Logs:&#039;&#039;&#039; Displays logs generated by Frida, a dynamic instrumentation toolkit used for runtime manipulation of applications.&lt;br /&gt;
* &#039;&#039;&#039;HTTP(S) Traffic:&#039;&#039;&#039; Shows the captured HTTP and HTTPS traffic logs.&lt;br /&gt;
* &#039;&#039;&#039;Logcat Logs:&#039;&#039;&#039; Provides logs from Logcat, a system-wide logging utility for Android.&lt;br /&gt;
* &#039;&#039;&#039;Dumpsys Logs:&#039;&#039;&#039; Displays logs generated by the dumpsys tool, which provides detailed information about the system and application state.&lt;br /&gt;
* &#039;&#039;&#039;Application Data:&#039;&#039;&#039; Downloads the application&#039;s data stored on the device.&lt;br /&gt;
&lt;br /&gt;
=== HTTPTools ===&lt;br /&gt;
&lt;br /&gt;
In HTTPTools you can analyze HTTP(S) traffic. &lt;br /&gt;
You also have the Option to replay your captured traffic to a Fuzzer(Burpsuite).&lt;br /&gt;
&lt;br /&gt;
[[File:Mobsf_dynamicanalysis_httptools.png]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://mobsf.github.io/docs/#/ MobSF Documentation]&lt;br /&gt;
* [https://github.com/MobSF/Mobile-Security-Framework-MobSF MobSF Github]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/tests/android/MASVS-RESILIENCE/MASTG-TEST-0045/ OWASP Testing Root Detection]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/Android/0x05j-Testing-Resiliency-Against-Reverse-Engineering/ OWASP Testing Resiliency Against Reverse Engineering]&lt;br /&gt;
* [https://www.indusface.com/learning/how-to-implement-root-detection-in-android-applications/ Root Detection Explaination]&lt;br /&gt;
* [https://sec-consult.com/de/blog/detail/android-mobile-root-detection-allheilmittel-gegen-angriffe/ Root Detection Explaination]&lt;br /&gt;
* [https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0012/ OWASP Bypassing Certificate Pinning]&lt;br /&gt;
* [https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning Certificate Pinning Explaination]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_httptools.png&amp;diff=14695</id>
		<title>File:Mobsf dynamicanalysis httptools.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_httptools.png&amp;diff=14695"/>
		<updated>2024-06-20T17:21:57Z</updated>

		<summary type="html">&lt;p&gt;AMessner: HTTP Tools with traffic in dynamic analysis in MobSF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
HTTP Tools with traffic in dynamic analysis in MobSF&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_logs.png&amp;diff=14694</id>
		<title>File:Mobsf dynamicanalysis logs.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_logs.png&amp;diff=14694"/>
		<updated>2024-06-20T17:21:15Z</updated>

		<summary type="html">&lt;p&gt;AMessner: Logs of Dynamic Analysis in MobSF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Logs of Dynamic Analysis in MobSF&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_generatereport.png&amp;diff=14693</id>
		<title>File:Mobsf dynamicanalysis generatereport.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_generatereport.png&amp;diff=14693"/>
		<updated>2024-06-20T17:20:23Z</updated>

		<summary type="html">&lt;p&gt;AMessner: mobsf generate report button&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
mobsf generate report button&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_config1.png&amp;diff=14692</id>
		<title>File:Mobsf dynamicanalysis config1.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_config1.png&amp;diff=14692"/>
		<updated>2024-06-20T17:19:42Z</updated>

		<summary type="html">&lt;p&gt;AMessner: buttons set in mobsf dynamic analysis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
buttons set in mobsf dynamic analysis&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_successful_rootbypass.png&amp;diff=14691</id>
		<title>File:Mobsf successful rootbypass.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_successful_rootbypass.png&amp;diff=14691"/>
		<updated>2024-06-20T17:17:03Z</updated>

		<summary type="html">&lt;p&gt;AMessner: CLI of a successful Root Detection Bypass with MobSF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
CLI of a successful Root Detection Bypass with MobSF&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_start.png&amp;diff=14690</id>
		<title>File:Mobsf dynamicanalysis start.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_dynamicanalysis_start.png&amp;diff=14690"/>
		<updated>2024-06-20T17:14:37Z</updated>

		<summary type="html">&lt;p&gt;AMessner: CLI of successful started Dynamic Analysis of MobSF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
CLI of successful started Dynamic Analysis of MobSF&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_sucessfulboot.png&amp;diff=14689</id>
		<title>File:Mobsf sucessfulboot.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Mobsf_sucessfulboot.png&amp;diff=14689"/>
		<updated>2024-06-20T17:13:06Z</updated>

		<summary type="html">&lt;p&gt;AMessner: CLI of successful booted MobSF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
CLI of successful booted MobSF&lt;/div&gt;</summary>
		<author><name>AMessner</name></author>
	</entry>
</feed>