Blame t/99misc.t

Packit ef9df4
#!/usr/local/bin/perl
Packit ef9df4
Packit ef9df4
#
Packit ef9df4
# Misc tests from github reported issues
Packit ef9df4
#
Packit ef9df4
Packit ef9df4
use Convert::ASN1;
Packit ef9df4
BEGIN { require 't/funcs.pl' }
Packit ef9df4
Packit ef9df4
print "1..2\n";
Packit ef9df4
Packit ef9df4
{    # github issue 8
Packit ef9df4
Packit ef9df4
  my $hexdata = "30 53 30 51 30 4f 30 4d 30 4b 30 09 06 05 2b 0e
Packit ef9df4
                 03 02 1a 05 00 04 14 a0 72 0e a0 6a 7c 62 02 54
Packit ef9df4
                 f2 a8 f5 9d d2 7b a4 f3 b7 2f a4 04 14 b0 b0 4a
Packit ef9df4
                 fd 1c 75 28 f8 1c 61 aa 13 f6 fa c1 90 3d 6b 16
Packit ef9df4
                 a3 02 12 11 21 bc 57 28 6f 30 08 db 49 63 f6 ae
Packit ef9df4
                 89 3a de f6 d1 ff e0";
Packit ef9df4
  $hexdata =~ s/ //g;
Packit ef9df4
  $hexdata =~ s/\n//g;
Packit ef9df4
Packit ef9df4
# parse ASN.1 descriptions
Packit ef9df4
  my $asn = Convert::ASN1->new;
Packit ef9df4
  $asn->prepare(<<ASN1) or die "prepare: ", $asn->error;
Packit ef9df4
  OCSPRequest     ::=     SEQUENCE {
Packit ef9df4
      tbsRequest                  TBSRequest,
Packit ef9df4
      optionalSignature   [0]     EXPLICIT ANY OPTIONAL }
Packit ef9df4
Packit ef9df4
  TBSRequest      ::=     SEQUENCE {
Packit ef9df4
      version             [0]     EXPLICIT INTEGER OPTIONAL,
Packit ef9df4
      requestorName       [1]     EXPLICIT ANY OPTIONAL,
Packit ef9df4
      requestList                 SEQUENCE OF Request,
Packit ef9df4
      requestExtensions   [2]     EXPLICIT ANY OPTIONAL }
Packit ef9df4
Packit ef9df4
  Request         ::=     SEQUENCE {
Packit ef9df4
      reqCert                     CertID,
Packit ef9df4
      singleRequestExtensions     [0] EXPLICIT ANY OPTIONAL }
Packit ef9df4
Packit ef9df4
  CertID          ::=     SEQUENCE {
Packit ef9df4
      hashAlgorithm       ANY,
Packit ef9df4
      issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
Packit ef9df4
      issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
Packit ef9df4
      serialNumber        INTEGER }
Packit ef9df4
ASN1
Packit ef9df4
Packit ef9df4
  my $asn_ocspreq = $asn->find('OCSPRequest');
Packit ef9df4
Packit ef9df4
  my $OCSPREQDER = pack("H*", $hexdata);
Packit ef9df4
Packit ef9df4
  my $ocspreq = $asn_ocspreq->decode($OCSPREQDER);
Packit ef9df4
  my $err = $asn_ocspreq->error;
Packit ef9df4
  $err =~ s/ at .*line \d.*//s if $err;
Packit ef9df4
  stest 1, "decode error 85 87", $err;
Packit ef9df4
Packit ef9df4
  btest 2, !!$asn_ocspreq->decode(substr($OCSPREQDER, 0, -2));
Packit ef9df4
Packit ef9df4
}
Packit ef9df4
Packit ef9df4