diff --git a/TPs/TP05/Images/Q1.png b/TPs/TP05/Images/Q1.png new file mode 100644 index 0000000..f0eb896 Binary files /dev/null and b/TPs/TP05/Images/Q1.png differ diff --git a/TPs/TP05/Readme.md b/TPs/TP05/Readme.md new file mode 100644 index 0000000..7731a19 --- /dev/null +++ b/TPs/TP05/Readme.md @@ -0,0 +1,56 @@ +# Respostas das Questões +## Q1 + +Para verificar que as chaves fornecidas constituem um par RSA valido, podemos extrair a chave publica do certificado e da chave privada (separadamente) e verificar se a chave publica é igual à chave publica extraída da chave privada. + +[Verificação da chave publica]() + +## Q2 +Utilizando o comando `openssl x509 -text -noout -in xxx.cert` podemos visualizar o conteúdo do certificado. Correndo o comando para o certificado `ALICE.crt` obtemos o seguinte resultado: + +```bash + +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 08:f8:5a:5f:c9:e6:a2:a1:bc:b2:71:6b:7c:d7:be:b1:a8:89:f0:2b + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = PT, ST = Minho, L = Braga, O = Universidade do Minho, OU = MSGS, CN = Entidade Certificadora, pseudonym = EC + Validity + Not Before: Mar 8 21:39:38 2024 GMT + Not After : Jun 16 21:39:38 2024 GMT + Subject: C = PT, ST = Minho, L = Braga, O = Universidade do Minho, OU = MSGS, CN = ALICE, pseudonym = CLIENT + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + ... + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: critical + Digital Signature, Non Repudiation + X509v3 Extended Key Usage: + TLS Web Client Authentication + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + ... +``` +Neste certificado, os campos importantes incluem: +- **Serial Number**: Identificador único do certificado. +- **Validity**: Indica o período durante o qual o certificado é válido. +- **Subject**: Informações sobre a entidade a quem o certificado é emitido. +- **Subject Public Key Info**: Detalhes sobre a chave pública, incluindo o algoritmo e o tamanho. +- **X509v3 extensions**: Contém informações adicionais, como restrições básicas, uso de chaves e uso de chaves estendido. +- **Signature Algorithm**: Algoritmo usado para assinar o certificado. +- **Signature Value**: O valor de assinatura real que garante a integridade do certificado. + + +## Q3 + +Para provocar erros do tipo de validação do certificado, podemos alterar o certificado de várias maneiras, como: +- Alterar a data de validade para uma data anterior à data atual. +- Alterar o nome do emissor ou do sujeito. +- Alterar a chave pública ou privada. + +Para provocar erros na validação da assinatura, podemos alterar a assinatura do certificado, o que invalidará a assinatura e resultará em um erro de validação.