PHPackages                             feimx/csd - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. feimx/csd

ActiveLibrary

feimx/csd
=========

Este paquete te permite encriptar, validar y convertir archivos .cer y .key en .pem para la facturacion electronica en méxico

v1.0(8y ago)165MITPHPPHP &gt;=5.3.0

Since Apr 16Pushed 8y ago1 watchersCompare

[ Source](https://github.com/feimx/csd)[ Packagist](https://packagist.org/packages/feimx/csd)[ RSS](/packages/feimx-csd/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

CSD
===

[](#csd)

Este paquete te permite encriptar, validar y convertir archivos .cer y .key en .pem para la facturacion electronica en méxico.

- [Introducción](#introduccion)
- [Instalación](#instalacion)
- [Uso](#uso)
    - [Convirtiendo CER en PEM](#convirtiendo-cer-en-pem)
    - [Convirtiendo KEY en PEM](#convirtiendo-key-en-pem)
    - [Validar vigencia del csd](#validar-vigencia-del-csd)
    - [Encriptar KEY.PEM en DER](#encriptar-key.pem-en-der)
    - [Verificar que es un CSD valido](#verificar-que-es-un-csd-valido)
    - [Obtener numero de certificado](#obtener-numero-de-certificado)
- [Licencia](#licencia)

Introducción
------------

[](#introducción)

Csd provee un mecanismo para convertir tus archivos .cer y .key a .pem, los necesarios para poder facturar electronicamente en méxico.

Asi mismo te permite encriptar tus llaves (.key) a .der pasando la contraseña que necesites.

```
require 'vendor/autoload.php';
use JorgeAndrade\Csd;
use JorgeAndrade\Exceptions\CsdException;

$cer = getcwd() . "/csds/aad990814bp7_1210261233s.cer";
$key = getcwd() . "/csds/aad990814bp7_1210261233s.key";
$rfc = "AAD990814BP7";
$pass = "12345678a";

$validar = new Csd($cer, $key, $rfc, $pass, $path = getcwd() . "/csds/");

try {
    $validar->convertCerToPem();
    $validar->convertKeyToPem();

} catch (CsdException $e) {
    var_dump($e->getMessage());
}
```

Instalación
-----------

[](#instalación)

Simplemente instala el paquete con composer:

```
composer require jorgeandrade/csd
```

Una vez composer termine de instalar el paquete simplemente importa el paquete y crea una nueva instancia pasando los parametros correspondientes:

```
require 'vendor/autoload.php';

use JorgeAndrade\Csd;
use JorgeAndrade\Exceptions\CsdException;

$cer = getcwd() . "/csds/aad990814bp7_1210261233s.cer";
$key = getcwd() . "/csds/aad990814bp7_1210261233s.key";
$rfc = "AAD990814BP7";
$pass = "12345678a"; //contraseña de la llave privada
$path = getcwd() . "/csds/"; //este parametro es opcional, por defecto usa **getcwd() . "/csds/"**

$validar = new Csd($cer, $key, $rfc, $pass, $path);
```

Uso
---

[](#uso)

Convertir, encryptar, validar y obtener es extremadamente facil. Si algo sale mal las funciones arrojaran una exception de tipo **JorgeAndrade\\Exceptions\\CsdException**.

Convirtiendo CER en PEM
-----------------------

[](#convirtiendo-cer-en-pem)

```
 $validar->convertCerToPem();
```

Convirtiendo KEY en PEM
-----------------------

[](#convirtiendo-key-en-pem)

```
 $validar->convertKeyToPem();
```

Validar vigencia del csd
------------------------

[](#validar-vigencia-del-csd)

Si todo sale bien retornara un array con la fecha inicial y la final de validez del certificado, cada uno extiende de la clase **DateTime**.

```
 $periodo = $validar->verifyValidityPeriod();

 var_dump($periodo);

 /**
array(2) {
  ["fecha_inicial"]=>
  object(DateTime)#4 (3) {
    ["date"]=>
    string(26) "2012-10-26 19:22:43.000000"
    ["timezone_type"]=>
    int(2)
    ["timezone"]=>
    string(3) "GMT"
  }
  ["fecha_final"]=>
  object(DateTime)#5 (3) {
    ["date"]=>
    string(26) "2016-10-26 19:22:43.000000"
    ["timezone_type"]=>
    int(2)
    ["timezone"]=>
    string(3) "GMT"
  }
}
 **/
```

Encriptar KEY.PEM en DER
------------------------

[](#encriptar-keypem-en-der)

Para poder encryptar, primero necesitas convertir de key en pem

```
$validar->convertKeyToPem();
$validar->encryptPemInToDer($pass);
```

Verificar que es un CSD valido
------------------------------

[](#verificar-que-es-un-csd-valido)

```
$check = $validar->verifyValidCsd(); //(bool)
```

Obtener numero de certificado
-----------------------------

[](#obtener-numero-de-certificado)

```
$no_certificado = $validar->getNoCertificado();
```

Licencia
--------

[](#licencia)

Csd programa de codigo abierto bajo la licencia [MIT license](http://opensource.org/licenses/MIT)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2950d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d0f7ef298a8212f962af789337d790ba61cf2d849609c66618ec86ad2422bb7?d=identicon)[Yorchi](/maintainers/Yorchi)

---

Top Contributors

[![Yorchi](https://avatars.githubusercontent.com/u/4969895?v=4)](https://github.com/Yorchi "Yorchi (8 commits)")

---

Tags

satcfdicsd

### Embed Badge

![Health badge](/badges/feimx-csd/health.svg)

```
[![Health](https://phpackages.com/badges/feimx-csd/health.svg)](https://phpackages.com/packages/feimx-csd)
```

###  Alternatives

[phpcfdi/credentials

Library to use eFirma (fiel) and CSD (sellos) from SAT

83152.0k7](/packages/phpcfdi-credentials)[phpcfdi/sat-ws-descarga-masiva

Librería para usar el servicio web del SAT de Descarga Masiva

16663.6k3](/packages/phpcfdi-sat-ws-descarga-masiva)[phpcfdi/cfdi-sat-scraper

Web Scraping para extraer facturas electrónicas desde la página del SAT

9018.0k](/packages/phpcfdi-cfdi-sat-scraper)[phpcfdi/sat-estado-cfdi

Consulta el estado de un cfdi en el webservice del SAT

3057.5k5](/packages/phpcfdi-sat-estado-cfdi)[phpcfdi/cfdi-to-json

Convert CFDI to JSON

3120.0k2](/packages/phpcfdi-cfdi-to-json)[facturapi/facturapi-php

Facturapi's PHP client library

1543.5k](/packages/facturapi-facturapi-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
