Различные PEM для DER в Perl - PullRequest
       5

Различные PEM для DER в Perl

3 голосов
/ 10 августа 2010

У меня есть приложение с архитектурой клиент-сервер.

клиент (программа C):

  1. генерирует различные данные в кодировке DER
  2. преобразование DER в PEM (используя PEM_write_bio от openssl) с различным заголовком PEM
  3. отправить PEM на сервер

сервер (Perl-скрипт):

  1. получить данные PEM
  2. конвертировать PEM в DER
  3. ....

У меня вопрос, как преобразовать различные данные PEM в DER / BER (двоичные данные) в perl?

Ответы [ 2 ]

5 голосов
/ 10 августа 2010

Вы можете удалить PEM-теги самостоятельно и выполнить декодирование блока Base64 внутри, используя MIME::Base64.

Должно быть просто

$derBlob = decode_base64($base64Blob);
3 голосов
/ 17 ноября 2016

Пример на основе принятого ответа:

#!/usr/bin/perl

use strict;
use warnings;
use MIME::Base64;

my $certPath = 'cert.pem';

open my $fh, '<', $certPath or die(sprintf('Could not open %s file: %s', $certPath, $!));
my $derBlob = do { local $/; decode_base64(<$fh> =~ s/^-.*?\n//gmr); };
close($fh);
print $derBlob;

1;
__END__
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...