月別: 2016年4月

【C#】System.Lazyクラスの弱参照版

System.Lazyクラスは、オブジェクトの生成に時間がかかる場合などに、必要になった時点で生成を行い、以後生成済みのオブジェクトを使うという機能をスレッドセーフで提供するものです。
今回はそれに弱参照を使って、生成後不要になったら一旦メモリから解放する機能を追加してみました。

ソースコードを以下に置いておきます。
これを使うにはWeakRef<T>クラスが必要なので、一緒に使ってください。
名前空間は変更して頂いて構いません。

https://www.myqnapcloud.com/smartshare/68704567o61n820u6428z5z3_6IiLTtA


認証局はじめました

この度、認証局サービスをはじめることにしました。

認証局とは、情報の発信者が本人であることを証明するための機関です。
認証局は、電子証明書を発行して、発信者が正当であることを証明します。
電子証明書を使うと、通信を暗号化したり、内容が改ざんされていないかチェックしたり、送信者がなりすましでないことを確認できます。
詳しくは、PKI(公開鍵認証基盤)について調べてみてください。

現在のところは、自分のサーバ証明書の作成や公開物の署名、ある程度関わりがある方への証明書発行のみやっています。
こちらで公開している独自のサービスのサーバ証明書はこの認証局より発行しているので、当サービスをSSLで利用する場合に警告を非表示にしたい方はルート証明書(下記参照)をインストールしてください。
全て自分でやっているのでもはや三者間認証でも何でもないですが・・・
「ある程度関わりがある方」への証明書発行については、個別に説明しますので、興味がある方はプライベートメッセージなどで直接連絡ください。

構築した認証局のルート証明書は以下にありますので、ご自由にお持ちください。
インストール方法は環境により異なるのでそれぞれ検索をお願いします。

公開鍵:‎92 f8 6c 39 6e e6 fb 2e b2 3f 03 cb 49 86 b8 6d 42 f9 a7 5c
ルート証明書:http://www.dstlc-vsin.xyz/CA/root.cer
証明書失効リスト:https://www.dstlc-vsin.xyz/CA/RevocationList.crl

追記(2016/6/5)
管理・運用が大変なので、「ある程度関わりがある方への証明書発行」はやめました。


GE-E.L.E.M.E.N.Tの再設計について

最近、E.L.E.M.E.N.T開発に詰むところが多くなってきたような気がしました。
やはり、設計をしっかりしていないからだと思い反省しています。

そこで、まずは設計からしっかり固めようということで、一旦コーディングをストップして設計を完成させます。
設計書は公式Wikiに順次書き込んでいきますので、皆さんもレビューに協力いただけるとありがたいです。