Afficher subjectAltName de CSR en php
P粉115840076
P粉115840076 2023-09-05 14:30:34
0
1
454
<p>Je ne parviens pas à afficher le nom alternatif du sujet CSR en utilisant PHP. J'ai fait quelques recherches et trouvé des choses intéressantes, mais le problème est que c'était il y a 10 ans et qu'il n'y avait aucun code auquel faire référence. Le lien est le suivant : Comment obtenir le subjectAltName d'un CSR en PHP ?</p> <p>La bibliothèque est phpseclib. Il dispose d'une documentation relative à la RSE, mais ne sait pas comment utiliser une telle bibliothèque. Savez-vous comment utiliser cette bibliothèque et afficher des noms alternatifs de thème ? Je ne suis pas doué pour coder avec les bibliothèques. Toute aide est grandement appréciée. Je le cherche depuis deux jours. </p>
P粉115840076
P粉115840076

répondre à tous(1)
P粉351138462

Merci à @neubert d'avoir fourni la réponse dont j'avais besoin et je voulais la partager avec tous ceux qui ont la même question que moi.

<?php
require __DIR__ . '/vendor/autoload.php';

use phpseclib3\File\X509;
?>

<!DOCTYPE html>
<html>
<head>
    <title>CSR Decode</title>
    <style type="text/css">
        body{
            background-color: #f1f1f1;
            font-family: Arial, sans-serif;
            color: #333333;
        }
        table.section{width:100%;}
        table.ftable td{padding:0px;text-align:center;font-size:13px;}
        h3{
            color: #2e6da4;
            padding: 10px;
            font-size: 20px;
            text-align: center;
            margin-top: 0px;
            margin-bottom: 15px;
            border-radius: 10px;
        }
        table{
            width: 50%;
            margin: auto;
            border-collapse: collapse;
            border: 1px solid #d4d4d4;
            text-align: left;
        }
        th, td{
            padding: 8px;
            border: 1px solid #d4d4d4;
            font-size:15px;
        }
        tr:nth-child(even){
            background-color: #f2f2f2;
        }
        img{
             width: 50%;
            margin: auto;
            margin-bottom: 10px;
        }

        table.table td{border:none;}
                table.table{border:none;}
    input[type="text"] {width: 30%;padding: 5px 20px;border:1px solid white;}
        input[type="submit"]{
            width: 16%;
            padding: 5px 20px;
            background-color:#67BC5A;
            color:white;
            font-weight:bold;
            border:1px solid #67BC5A;
            border-radius:5px;}
    form.form {padding-bottom: 20px;}


    p {
        display: flex;
    justify-content: center;
        font-weight: bold;
        font-size: 24px;
    }

    .csr_info {
        display: flex;
    justify-content: center;
    }

    .csr_info > ul{
        list-style: none;
    }

    .csr_info > ul > li{
        background: url(./img/check.png) no-repeat left;
        font-size: 14px;
    height: 24px;
    padding: 20px 0 0px 58px;
    margin: auto;
    font-weight: normal;
    line-height: 4px;
    }

    </style>
</head>
<body>

<table class="ftable" style="border:none;">
    <tr>
    <td  style="border:none;">
    <h3>Decode CSR</h3>
    <form class="form"action="" method="POST">
        <div>
            <textarea name="csr" rows="22" cols="99"></textarea>
        </div>
        <div>
            <input type="submit" name="submit"  value="Decode CSR">
        </div>
    </form>
    </tr>
    </td>
    </table>
<?php

if(isset($_POST['submit'])){

  $csr = $_POST['csr'];
  $x509 = new X509();
  $csr2 = $x509->loadCSR($csr);
?>
<p>CSR Information</p>
<div class="csr_info">
    <ul>
        <li>
            <strong>Common Name</strong>:
      <?php
        $result = array_values($x509->getDNProp('CN'));
        echo $result[0];
      ?>
        </li>
    <li>
            <strong>Subject Alternative Name:</strong>:
      <?php
        $ext = array_values($x509->getExtension('id-ce-subjectAltName'));
        foreach ($ext as $value) {
          $san = array_values($value);
          echo " , " .$san[0];
        }
      ?>
        </li>
    <li>
            <strong>Organization</strong>:
      <?php
        $result = array_values($x509->getDNProp('O'));
        echo $result[0];
      ?>
        </li>
        <li>
            <strong>Organization Unit</strong>:
      <?php
        $result = array_values($x509->getDNProp('OU'));
        echo $result[0];
      ?>
        </li>
        <li>
            <strong>Locality</strong>:
      <?php
        $result = array_values($x509->getDNProp('L'));
        echo $result[0];
      ?>
        </li>
        <li>
            <strong>State</strong>:
      <?php
        $result = array_values($x509->getDNProp('ST'));
        echo $result[0];
      ?>
        </li>
        <li>
            <strong>Country</strong>:
      <?php
        $result = array_values($x509->getDNProp('C'));
        echo $result[0];
      ?>
        </li>

    </ul>
    <?php
    }

    ?>
</div>

</body>
</html>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!