57 lines
2.6 KiB
Markdown
57 lines
2.6 KiB
Markdown
|
# 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.
|