セキュリティキャンプ 応募から結果発表まで

*これはセキュリティキャンプ2017記事の3番目です。
前:セキュリティキャンプ 応募課題晒し
次:セキュリティキャンプ 事前準備 課題

前回は応募用紙を晒しましたが、今回は応募後の流れを軽くまとめたいと思います。
応募すると登録したメールアドレスに次のようなメールが届きます。

====================================================
【セキュリティ・キャンプ】送信完了メール(課題回答ページ(セキュリティ・キャンプ全国大会2017))
(中略)
回答内容の送信が完了いたしました。

回答ID:29
※回答IDは、再回答の際に必要となります。

====================================================
(後略)

来年以降はどうかはわかりませんが、一度のみ回答IDを使って再回答できるようです。再回答すると前回の回答は消されるそうなので慎重に行ったら良いと思われます。自分はしませんでした。

そして6月中旬頃に…結果発表メールが届きます。
合格した場合、通知とほぼ同時にキャンプ参加者用のサイボウズLiveグループに招待されます。
サイボウズLiveはグループウェアで、カレンダーやチャットもついてて使いやすいです。受かる前から使っとけばよかった…。
さてここで本名を開示してグループに入り自己紹介を行います。いやードキドキですね。
その後講師のお方などの自己紹介もあり、別に事前学習用のグループに招待されます。そこで選択コースはどの講義を受けるか選び事前学習を始めるようです。集中コースは最初から更に別の専門のグループに招待されテーマを決めていきます。集中コースのグループは見学可能で見学の人が多くいて自分たちの発言を見ているようです。緊張するなぁ。自分も見学したい。

という状況です。現実案件が怒号のように出てきて満足に事前学習できません。(僅かな合間を縫って学習して考えてる間にこの記事を書いてる。)

案件全部片付けたら頑張るぞい。

セキュリティキャンプ 応募課題晒し

*これはセキュリティキャンプ2017記事の2番目です。
前:セキュリティキャンプ2017合格しました。
次:セキュリティキャンプ 応募から結果発表まで
セキュリティキャンプでは応募用紙をネットに晒すのが定例のようです。
「いやはや、黒歴史晒し…」なんて先人方のブログには書かれてますが、自分が応募しようとしたとき大いに役に立ちました。ほんと、ありがとうございます。

さて自分が役に立った課題晒しを来年以降の方にもつなげるために自分も書こうと思います。自分がプロじゃないと書く…わけではありませんからね。多分。

その前に、自分よりお強い方が応募された時の課題をブログに書かれているようです。きっとそっちのほうが参考になると思うので、まず最初にそちらを見ていただいて、自分のは参考の参考程度に…ね。

セキュリティキャンプ2017参加者の方々の応募課題

「自分のブログ記事のリンク載せてもいいよ。」というありがたいお方がいらしたら、2017以前でも構わないのでぜひコメント欄でもTwitterでも自分にご連絡ください。

さて、自分のを書く時が来たようです。
原文をそのまま載せているので長いです。
自分が応募したのはx86 OS自作ゼミです。
応募用紙は http://www.ipa.go.jp/files/000059685.pdfです。
では… “セキュリティキャンプ 応募課題晒し” の続きを読む

セキュリティキャンプ2017合格しました。

*これはセキュリティキャンプ2017記事の1番目です。
次:セキュリティキャンプ 応募課題晒し

ヤッタァァァ(奇声)。
例年、6/14に合否判定が出てるのに帰ってもメール来ていない…Twitterは落ちた落ちたの嘆きでいっぱい。
もう本気で落ちたかと思いました。判定出てないのに。
で、ですね。6/15日にですよ。

 

 

 

もう飛び上がりましたよ。
いや、ほんともう嬉しくて嬉しくて。

今回の経験を細かく記録して、来年以降参加しようと思う方や自分の記録としておきます。
以下のカテゴリで出していきます。
それではがんばります。
カテゴリー: セキュリティキャンプ

VLCでMP4(H.264 + AAC)エンコードする。

Webmはいいねぇ、Google先生(唐突)
openSUSEやDebianなどフリーを求めるところではMP4(H.264)など完全オープンでないもののサポートは除外されるわけですが、VLC様のおかげで再生・エンコードできます。

さてエンコードした動画をWindowsで再生なりアップロードなりすると音が出ないことが…
よくよく見ると(H.264 +MP3)でエンコードされてます。
これ、再生できないところが多いんだそうです。
MP4での主なオーディオコーデックはMPEG4 Audio(AAC)ですので、これを使って変換すれば音も再生できそうです。

そこで、いつもどおり変換の画面を表示して、
プロファイルの隣の工具ボタンを押して、
オーディオコーデックタブのエンコーディングパラメータのコーデックを「MPEG4 Audio(AAC)」にして、
保存を押して、「開始」を押せばOK
…と思ったのですが、なんかエンコーダーがないとエラーがでます…

どうやらFFmpegの制限がかかってるようで、解除するには、

  1. 基本画面のツールタブから設定を選ぶ
  2. 左下の「設定の表示」で「すべて」を選ぶ
  3. 「入力/コーディック」、「ビデオコーデック」、「FFmpeg」とたどる
  4. 「エンコード」の「規約遵守の制約」を「-2」にする。
  5. 保存して、オーディオコーディックを「MPEG4 Audio(AAC)」にしたうえで、再度変換してみる

では。

NetBSDのアップデート

Linuxならzypper upでお手軽アップデートですが…(それopenSUSEだけ)
NetBSDでのやり方がいまいちわかってなかったのです。
NetBSDは昔から使っていたといえば使ってはいました。
が、使う頻度がアレであんまり慣れてません。
強いBSDユーザーになりたい。
さてはてどうにかこうにかしてpkg_addでいろいろソフトを入れた訳ですがアップデートってどうするの。
pkg_addでいちいちやっていくの。pkg_srcでビルドするの。
と思ってネットを漁ったらpkgin ugをしろと。

#pkgin ug
>んなもんねぇよ。

と返された。無いのですか。じゃあ

#pkg_add pkgin
#pkgin up
#pkgin ug


あっさり動きました。
またXlibを使ったビルドは

clang main.c -L/usr/X11R7/lib -lX11 -I/usr/X11R7/include

でした。わかるまでつらかったです。 qt5+cmakeは便利でしたがNetworkがハンドシェイクエラーで死にます。
では…

Qtで同じ名前のスロットが複数ある時のconnectの仕方

前回の記事でPhonon::VideoPlayer::playをボタン押したら動作させたいなと思ったら複数スロットがあり、

void play(const Phonon::MediaSource &source);

を選んできて引数エラーになるので…
公式ドキュメントにある方法でやってみる(旧式のSIGNAL(),SLOT()形式ではこのような問題は起きない)
New Signal Slot Syntax in Qt 5

Phonon::VideoPlayer *videoplayer = new Phonon::VideoPlayer(Phonon::VideoCategory);
QPushButton *play = new QPushButton;
play->setIcon(this->style()->standardIcon(QStyle::SP_MediaPlay));
//====
connect(play,&QPushButton::clicked,videoplayer,static_cast<void (Phonon::VideoPlayer::*)(void)>(&Phonon::VideoPlayer::play));
//====

キャストするんだってさ。
以上。

Qtで作ったアプリでVLCをバックエンドとしてH.264な動画を再生する

どうも。
以前openSUSEのFirefoxでH264な動画再生をするため色々していたのですが、Qt製のソフト、詳しく言えばQMovieクラスだけではH.264な動画は再生できないことがわかっていました。(QMovieは「without sound」とある。)

そこで気になったのが以前書いたPhononのバックエンドをVLCに変えるの中で紹介したPhononというもの。
これはQtに付属しており、このバックエンドをVLCに変更し、VideoLAN本家のvlcを導入しておけばPhonon経由で再生できるのかもと思った次第です。
まずは開発に必要なものを揃えます。最低Qt開発環境とcmakeは入っているものとして…yastかzypperで「phonon4qt5-devel」を入れます。他のディストロでは似たようなものを入れてください。(もちろんバックエンドはVLCに変更済みにしておいてください。)

次にCMakeLists.txtに

find_package(Phonon4Qt5 REQUIRED)
target_link_libraries(プロジェクト名 ${PHONON_LIBRARY})

を追加します。
以下テストコード

#include <QApplication>
#include <QUrl>
#include <phonon/VideoPlayer>
int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    Phonon::VideoPlayer player(Phonon::VideoCategory);
    player.show();
    player.play(QUrl("./test.mp4"));
    return app.exec();
}

これで再生できるはずです。
割とかんたんに再生できて、びっくりなんですが、player.play(QUrl(“http://…”))とUrl入れるとネットから持ってきて再生しだします。ストリーム再生はできてませんが。

というわけでメモでした。

LibreOfficeで印刷時に紙のサイズが指定できない

キャノンのピクサスで無線印刷しようとしたら遭遇したのでメモ。
LibreOffice Writerで印刷ボタンをクリックして「プロパティ」の欄で用紙サイズがグレーになってて変えられない。
解決するには印刷ダイアログの「オプション」のところの「プリンター設定の用紙サイズのみ使用」にチェックを入れ、再び「全般」に戻り、「プロパティ」を選べば、選択可能になっている。
以上。
でもなんか少し字がずれるなぁ…気のせいか。

FujiSSLの証明書を買った

お金がぁと言いながら金を使う金欠マンはこちらです。
StartSSLの件で認証局を選び直すことになったのですが、ふとFujiSSLという物が目に入りました。
RapidSSLやPositiveSSLよりも安い…
しかものりかえ割というのがありLet’s EncryptからでもOKみたい。
何より新しい物好きの自分にとっては試したくて仕方ない。
「よし、じゃあドメインの有効期限と同じ3年分買ってみようじゃないか。」

購入の際意外と苦労したので記録しておきます。

会員登録と支払い

購入はSSLストアで行いました。
まずは、ホームページの右側の「会員登録」から登録。
個人運営だから「個人」を選んで入力していく、利用規約を目を通し、同意の上で次へ。
その後何したかは忘れたけど、とりあえず登録が完了したら、管理ページヘログインします。
次に証明書を購入するために入金やなんやかんやするが初心者向けの案内がしっかりしてあるので特に迷うことはなかった。
購入が完了したら上のバーの証明書管理からアクティベートできるようになってるはず。

有効化と発行と設置

ファイル認証にしてCSRを作って…
さて、ここが一番困った。

Whois情報が審査対象になると思うけど、そのWhoisは代理公開中。
「じゃあWhois通りにCSRを作ればええやん。」
「あれCSRと別にドメイン所有者情報も入れないかんのか…ふむ、これもWhois情報と合わせるかな。」
「名前が姓名別れてて、どっちも入力必須やけど、『Whois Privacy Protection Service by onamae.com』ってどこまでが姓でどっからが名前だ…」
「ドメイン所有者情報に書いたメールアドレスに証明書が送られるんか…じゃあ自分の持ってるアドレスに変えなきゃななぁ…そしたらWhois情報と食い違う…えぇ…」



そうして悩むこと数十分、ここを見ると(ログインしてないと見れない)「申請情報入力2」の欄で「Whois情報 担当メールアドレス」が「proxy@whoisprotectservice.com」じゃないか。

結論:どうやらドメイン所有者情報はWhoisと合致しなくても良さそう。CSRはWhoisに合わせて、ドメイン所有者情報は自分の情報を書くことにしよう。

どうせコモンネーム以外は真っ白にされて証明書が発行されるし。

端末を開いて、

openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out server.csr


(ECCのSSL証明書が楽しそうだったけど、FujiSSLは非対応だからできないので、RSA 2048bitを使用)
CSRを作っていきますが、代理公開情報に合わせ…

  • Country Name : JP
  • State or Province Name : Tokyo
  • Locality Name : Shibuya-ku
  • Organization Name : Whois Privacy Protection Service by onamae.com
  • Organizational Unit Name : (そのままEnterか、「.」だけ)
  • Common Name : (申請するFQDN)
  • あとはすべてそのままenter

できたserver.csrの中身をテキストエディタかcatでコピーしアクティベートのページに貼り付け、所有者・技術担当者は自分の住所などを書く。
待つこと数分、メールで添付ファイルをサーバに上げるように指示されてアップ。
さらに待つこと10分…あれれ。
アクセスログを見てみると認証BotからPOSTでアクセスされてnginxが「HTTP 405」返しちゃってる。アチャー。
応急処置で設定ファイルを「error_page 405 =200 $uri;」と書き換えてnginx再起動。
それから数分後公開鍵が来たので、応急処置を元に戻し、CA証明書と結合させ、秘密鍵とともに配置して、バックアップを取り、nginx再起動。うまく動いておる。
次はメール認証でやったところ、何も不具合なくできた。nginxを使用してる場合はメール認証が良さそう。
サイトシールもついてきてご満足。EV証明書ではないので前と変わらないけど、期限が2020年までなのを見てニッコリ。
この値段で3年取れるのはなかなか良い。積極的に使っていくことしよう。個人でドメインはめったに買わないと思うけど。
みなさまもぜひ利用してみてはいかがでしょうか。
では。

追記(2017/09/09)
銀行振込は個人ではできなくなりました。(ずっと前から)
Japan-SSLという(今の所)Fuji-SSLを専門に扱う販売店では銀行振込ができる…かも?

StartSSL発行の証明書をChromeが拒否しだした

さて、いよいよやってきたこのとき。Firefoxでの記事を前に書いたが、それよりもChromeの対応が早かった。
ついにDevelop版でプライバシーエラーが2016年10月以前に作った証明書でも出だした。
個人では2つドメインを管理しているが、このブログを運営してるドメインは、念の為Let’s Encryptに差し替えておいたが、もう一つの方は準備だけして差し替えずにいた。そして昨日(2/1)にプライバシーエラーが出ることを確認し、予定通り差し替えた。2月中に更に別の証明書に変更する予定だ。
StartSSLでプライバシーエラーが出たときの画面
さて、Googleで「StartSSL 無料」などと検索したサイトをクリックするとプライバシーエラーが出るサイトがある。
調べてみたところ…
「プライバシーエラー」が出るサイトの中間CA証明書の発行元の一般名(CN)

  • StartCom Class 1 DV Server CA
  • StartCom Class 2 Primary Intermediate Server CA
  • StartCom Class 3 OV Server CA

通常通り接続できるサイトの中間CA証明書の発行元の一般名(CN)

  • StartCom Class 4 EV Server CA

「StartCom Class 4 EV Server CA」はstartssl.comで確認した。(中間CA証明書の発行元の一般名って呼び方あってんのかいな…)
殆どが別の認証局に移っていたので多く見つけられなかったが、StartSSLのサイトのほとんどのサイトでアクセスできなかった。ただし詳細設定からアクセスすることは可能だった。
Stable版はどうなってるかわからないが、同じようになるのだろう。
10月以降に発行して沼にハマった人がいるようだが、StartSSLのホームページに注意書きはないどころか「Transparency(透明)」ってある。Oh,No…
確かサインインした先に何か書かれていた気もするが忘れた。
ただし、Newsに注意書きがある(上は太文字なのに重要な部分は赤文字だけで太文字ではないのね…)
読む限り、新たな証明書に移行し信頼されればその時から新たにStartSSLで発行される証明書は使えそうだ。
ちゃっかり無料版の期限が3年に伸びてるがこれはWoSignと同じでは…
StartComは完全に独立したわけではなく、とある中国企業の傘下にある。
イスラエル発のStartComが買収でこのような事態になってしまったのは残念だが、StartSSLを離れることにした。