Bulknews::Subtech RSSフィード

2006/10/24 (火)

SSL の更新期限を iCal へ 17:28  SSL の更新期限を iCal へ - Bulknews::Subtech を含むブックマーク はてなブックマーク -  SSL の更新期限を iCal へ - Bulknews::Subtech

サーバ証明書数百枚を管理している人が身近にいる。

それPla」とされているように、Plaggerと連動させれば期限管理ツールとして使える。

CPANに登録されるのが待ち遠しい。

CustomFeed::Script と openssl コマンドでやってみよう。


#!/usr/bin/perl
use strict;
use warnings;
use YAML;

my @hosts = @ARGV
    or die "Usage: ssl-expire.pl host1 host2 ...\n";

my $output = {
    title => "SSL expire dates",
    entry => [],
};

for my $host (@hosts) {
    my $expires = expire_date($host);
    push @{$output->{entry}}, {
        title => $host,
        date  => $expires,
    };
}

sub expire_date {
    my $host = shift;

    my $res = `echo '' | openssl s_client -connect $host:443 2>/dev/null | openssl x509 -enddate -noout`;
    if ($res =~ /notAfter=(.*)/) {
        return $1;
    }
}

print YAML::Dump $output;

として、

plugins:
  - module: Subscription::Config
    config:
      feed:
        - script:assets/plugins/CustomFeed-Script/ssl-expire.pl ssl.example.jp ssl2.example.jp
  - module: CustomFeed::Script
  - module: Publish::iCal
    config:
      dir: .
      filename: ssl.ics

できた。


DateTime::TimeZone 0.52 01:26  DateTime::TimeZone 0.52  - Bulknews::Subtech を含むブックマーク はてなブックマーク -  DateTime::TimeZone 0.52  - Bulknews::Subtech

Plagger を DateTime::TimeZone 0.52 で動かし、SmartFeed を使う(Planet とかは内部で使ってる)と、

The following parameter was passed in the call to DateTime::TimeZone::OffsetOnly::new but was not listed in the validation options: name
at /home/miyagawa/svn/plagger/lib/Plagger/Thing.pm line 24

で死ぬ。DateTime::TimeZone 0.52 のバグのようなので、とりあえず 0.51 以下にもどせばOK。datetime@ にはレポートずみ。

UPDATE: 0.53 で修正された。...とおもったけど DateTime の .t がこけたり、Format が動かなくなったりまだ問題おおし。