Skip to content

Commit 0d07622

Browse files
authored
Merge pull request #9 from timlegge/crypt-openssl-verify
Replace Crypt::OpenSSL::VerifyX509 with Crypt::OpenSSL::Verify
2 parents af050d5 + 929894c commit 0d07622

File tree

15 files changed

+37
-62
lines changed

15 files changed

+37
-62
lines changed

.github/workflows/linux.yml

+1-11
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,9 @@ jobs:
2525
image: perl:${{ matrix.perl-version }}
2626
steps:
2727
- uses: actions/checkout@v1
28-
- name: Install Crypt::OpenSSL::VerifyX509
29-
run: |
30-
curl -sL https://cpanmin.us/ | perl - -nq inc::Module::Install \
31-
Module::Install::AuthorRequires Module::Install::AuthorTests \
32-
Test::NoTabs Test::Pod Test::Pod::Coverage Test::More Crypt::OpenSSL::X509;
33-
git clone https://github.com/timlegge/perl-Crypt-OpenSSL-VerifyX509.git;
34-
cd perl-Crypt-OpenSSL-VerifyX509;
35-
perl Makefile.PL;
36-
make install;
37-
cd ..;
3828
- name: Install Net::SAML2 Depends
3929
run: |
40-
apt-get install libxml2-dev make gcc;
30+
apt-get install libxml2 make gcc;
4131
curl -sL https://cpanmin.us/ | perl - -nq --installdeps . ;
4232
- name: Build Module
4333
run: |

Changes

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,30 @@
11
Revision history for Perl extension Net::SAML2.
22

3+
0.30-TRIAL 13-Jan-2021
4+
5+
Significant Changes
6+
7+
1. Replace Crypt::OpenSSL::Verify
8+
2. Merge latest XML::Sig
9+
10+
Warning: This release require the installation of Crypt::OpenSSL::Verify.
11+
12+
TBD Update Changes and Increment version
13+
ccaa892 Remove the installation of Crypt::OpenSSL::VerifyX509 from action
14+
36d0a5c Move to Crypt-OpenSSL-Verify as Crypt-OpenSSL-Verify is not supported
15+
af050d5 Merge pull request #8 from timlegge/merge-xml-sig
16+
91208a2 Update dependencies for Net::SAML2::XML::Sig
17+
359a0bd Merge XML::Sig version 0.39
18+
200c0ae Update some documentation details
19+
ed3c265 Merge XML::Sig version 0.38
20+
dfefef6 Remove XML::Lib added XML Declaration from Signed XML
21+
a39774f Copy updated XML::Sig and update name and version
22+
323
0.29 12-Jan-2021
424

525
Small release to update issues location to be github
626

7-
TBD Update Changes and Increment version
27+
6a03758 Update Changes and Increment version
828
08e1a17 Fixes #7 - Move issues to github
929

1030
0.28 04-Jul-2020

Makefile.PL

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ my %WriteMakefileArgs = (
2222
"Crypt::OpenSSL::DSA" => 0,
2323
"Crypt::OpenSSL::RSA" => 0,
2424
"Crypt::OpenSSL::Random" => 0,
25-
"Crypt::OpenSSL::VerifyX509" => 0,
25+
"Crypt::OpenSSL::Verify" => 0,
2626
"Crypt::OpenSSL::X509" => 0,
2727
"DateTime" => 0,
2828
"DateTime::Format::XSD" => 0,
@@ -68,7 +68,7 @@ my %WriteMakefileArgs = (
6868
"Test::Pod::Coverage" => "1.04",
6969
"XML::LibXML::XPathContext" => 0
7070
},
71-
"VERSION" => "0.29",
71+
"VERSION" => "0.30",
7272
"test" => {
7373
"TESTS" => "t/*.t t/author/*.t"
7474
}
@@ -82,7 +82,7 @@ my %FallbackPrereqs = (
8282
"Crypt::OpenSSL::DSA" => 0,
8383
"Crypt::OpenSSL::RSA" => 0,
8484
"Crypt::OpenSSL::Random" => 0,
85-
"Crypt::OpenSSL::VerifyX509" => 0,
85+
"Crypt::OpenSSL::Verify" => 0,
8686
"Crypt::OpenSSL::X509" => 0,
8787
"DateTime" => 0,
8888
"DateTime::Format::XSD" => 0,

cpanfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
2+
13
requires "Carp" => "0";
24
requires "Class::Accessor" => "0";
35
requires "Crypt::OpenSSL::Bignum" => "0";
46
requires "Crypt::OpenSSL::DSA" => "0";
57
requires "Crypt::OpenSSL::RSA" => "0";
68
requires "Crypt::OpenSSL::Random" => "0";
7-
requires "Crypt::OpenSSL::VerifyX509" => "0";
9+
requires "Crypt::OpenSSL::Verify" => "0";
810
requires "Crypt::OpenSSL::X509" => "0";
911
requires "DateTime" => "0";
1012
requires "DateTime::Format::XSD" => "0";

lib/Net/SAML2.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use warnings;
44

55
require 5.008_001;
66

7-
our $VERSION = '0.29';
7+
our $VERSION = '0.30';
88
$VERSION = eval {$VERSION};
99

1010
=head1 NAME

lib/Net/SAML2/Binding/POST.pm

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Net::SAML2::Binding::POST - HTTP POST binding for SAML2
2525

2626
use Net::SAML2::XML::Sig;
2727
use MIME::Base64 qw/ decode_base64 /;
28-
use Crypt::OpenSSL::VerifyX509;
28+
use Crypt::OpenSSL::Verify;
2929

3030
=head2 new( )
3131
@@ -69,7 +69,7 @@ sub handle_response {
6969
my $cert = $x->signer_cert
7070
or die "Certificate not provided and not in SAML Response, cannot validate";
7171

72-
my $ca = Crypt::OpenSSL::VerifyX509->new($self->cacert);
72+
my $ca = Crypt::OpenSSL::Verify->new($self->cacert, { strict_certs => 0, });
7373
if ($ca->verify($cert)) {
7474
return sprintf("%s (verified)", $cert->subject);
7575
} else {

lib/Net/SAML2/Binding/SOAP.pm

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ sub handle_response {
121121

122122
# verify the signing certificate
123123
my $cert = $x->signer_cert;
124-
my $ca = Crypt::OpenSSL::VerifyX509->new($self->cacert);
124+
my $ca = Crypt::OpenSSL::Verify->new($self->cacert, { strict_certs => 0, });
125125
$ret = $ca->verify($cert);
126126
die "bad signer cert" unless $ret;
127127

@@ -159,7 +159,7 @@ sub handle_request {
159159
die "bad signature" unless $ret;
160160

161161
my $cert = $x->signer_cert;
162-
my $ca = Crypt::OpenSSL::VerifyX509->new($self->cacert);
162+
my $ca = Crypt::OpenSSL::Verify->new($self->cacert, { strict_certs => 0, });
163163
$ret = $ca->verify($cert);
164164
die "bad certificate in request: ".$cert->subject unless $ret;
165165

lib/Net/SAML2/IdP.pm

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Net::SAML2::IdP - SAML Identity Provider object
1616
1717
=cut
1818

19-
use Crypt::OpenSSL::VerifyX509;
19+
use Crypt::OpenSSL::Verify;
2020
use Crypt::OpenSSL::X509;
2121
use HTTP::Request::Common;
2222
use LWP::UserAgent;
@@ -180,7 +180,7 @@ sub BUILD {
180180
my($self) = @_;
181181

182182
if ($self->cacert) {
183-
my $ca = Crypt::OpenSSL::VerifyX509->new($self->cacert);
183+
my $ca = Crypt::OpenSSL::Verify->new($self->cacert, { strict_certs => 0, });
184184

185185
for my $use (keys %{$self->certs}) {
186186
my $cert = Crypt::OpenSSL::X509->new_from_string($self->certs->{$use});

lib/Net/SAML2/XML/Sig.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use vars qw($VERSION @EXPORT_OK %EXPORT_TAGS $DEBUG);
3636

3737
$DEBUG = 0;
3838
# Based on XML::Sig VERSION = '0.39';
39-
$VERSION = '0.29';
39+
$VERSION = '0.30';
4040

4141
use base qw(Class::Accessor);
4242
Net::SAML2::XML::Sig->mk_accessors(qw(key));

lib/Net/SAML2/XML/Util.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use XML::Tidy;
99
use vars qw($VERSION @EXPORT_OK %EXPORT_TAGS $DEBUG);
1010

1111
$DEBUG = 0;
12-
$VERSION = '0.29';
12+
$VERSION = '0.30';
1313

1414
# We are exporting functions
1515
use base qw/Exporter/;

t/01-create-idp.t

-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ Iavyic/p4gZtXckweq+VTn9CdZp6ZTQtVw==
5555
</EntityDescriptor>
5656
XML
5757

58-
my $override = override_verify_x509_verify(1);
59-
6058
my $idp = Net::SAML2::IdP->new_from_xml(
6159
xml => $xml,
6260
cacert => 't/cacert.pem'

t/04-response.t

-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ XML
6161

6262
my $response = encode_base64($xml);
6363

64-
my $override = override_verify_x509_verify(1);
65-
6664
my $sp = net_saml2_sp();
6765

6866
my $post = $sp->post_binding;

t/05-soap-binding.t

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ use Net::SAML2::IdP;
55

66
use LWP::UserAgent;
77

8-
my $override = override_verify_x509_verify(1);
9-
108
my $sp = net_saml2_sp();
119

1210
my $metadata = path('t/idp-metadata.xml')->slurp;

t/06-redirect-binding.t

-7
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,6 @@ my $idp = Net::SAML2::IdP->new_from_xml(
1414

1515
isa_ok($idp, "Net::SAML2::IdP");
1616

17-
my $override = override_verify_x509_verify(1);
18-
$override->override(
19-
'Net::SAML2::Util::generate_id' => sub {
20-
return 'myid';
21-
}
22-
);
23-
2417
my $sso_url = $idp->sso_url($idp->binding('redirect'));
2518
is(
2619
$sso_url,

t/lib/Test/Net/SAML2/Util.pm

-24
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ require Exporter;
88
our @ISA = qw(Exporter);
99
our @EXPORT = qw(
1010
get_xpath
11-
override
12-
override_verify_x509_verify
1311
test_xml_attribute_ok
1412
test_xml_value_ok
1513
net_saml2_sp
@@ -84,28 +82,6 @@ sub test_xml_value_ok {
8482
return 0;
8583
}
8684

87-
sub override {
88-
return Sub::Override->override(@_);
89-
}
90-
91-
# On debian testing we have an issue with an underlying module. For one
92-
# reason or another I have the module installed, but it breaks on
93-
# reinstallation. So we mock the module
94-
#
95-
# TODO: https://gitlab.com/waterkip/perl-net-saml2/issues/1
96-
sub override_verify_x509_verify {
97-
my $return_ok = shift;
98-
99-
return override(
100-
'Crypt::OpenSSL::VerifyX509::verify' => sub {
101-
return $return_ok if $return_ok;
102-
die
103-
104-
"override of Crypt::OpenSSL::VerifyX509::verify says failure!";
105-
}
106-
);
107-
}
108-
10985
sub looks_like_a_cert {
11086
my $cert = shift;
11187
lives_ok(

0 commit comments

Comments
 (0)