fidm / x509

Pure JavaScript X509 certificate tools for Node.js
https://fidm.github.io/x509/
MIT License
82 stars 15 forks source link

certificate serialNumber is not match #12

Open Randyshu2018 opened 4 years ago

Randyshu2018 commented 4 years ago

node version:10.15.3

steps to reproduce:

  1. test certificate named cert.pem:
    -----BEGIN CERTIFICATE-----
    MIICKjCCAdGgAwIBAgIRAMGjl2AnD3bzdpQOcPOZ944wCgYIKoZIzj0EAwIwczEL
    MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
    cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
    Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjAwNjEyMDY0ODAwWhcNMzAwNjEwMDY0ODAw
    WjBsMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
    U2FuIEZyYW5jaXNjbzEPMA0GA1UECxMGY2xpZW50MR8wHQYDVQQDDBZVc2VyMUBv
    cmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExkNePVH3
    8oQj1J2uBWU8e1E6GuvxKy3+yutI0+d2UVrMYkfu23Z+hvKiqmXI+DX1VUTmuaF9
    2du+kflKIS+Z0qNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYD
    VR0jBCQwIoAgMofBUJnNe9UyITG0/au3jfNeJ4+g377clNphXQOvfIwwCgYIKoZI
    zj0EAwIDRwAwRAIgfzDtKejEx21PP/Vx2NPmaAVnAqPY30xMKAKCNVvYaSoCIAvT
    1rwBNvde855LUwMGtx3mBXx13gGrCl5dXxCXZHxG
    -----END CERTIFICATE-----
  2. test.js
    
    const cp = require('child_process');
    const fs = require('fs');
    const { Certificate } = require('@fidm/x509');

const filePath = 'cert.pem';

const cert = Certificate.fromPEM(fs.readFileSync(filePath)); console.log(serial=${cert.serialNumber});

cp.spawn('openssl', [ 'x509', '-in', ${filePath}, '-serial', "-noout" ], { stdio: "inherit" });


3. run 
```bash
node test.js
  1. output
    serial=00c1a39760270f76f376940e70f399f78e
    serial=C1A39760270F76F376940E70F399F78E