2013-03-07

[Python] setup.py でリリースに最低限必要そうなものを調べた

Python の setup.py がまだわかっていなかったので、最低限必要だとおもうパラメータを1つ1つ検証した。
練習用のプロジェクトを作成したので、今度からはこれをつかってパッケージ化するぞ。
PyPIにアップする設定ははいっていません。

次は buildout を自分で使えるようにまとめよう。


作ったプロジェクト

  • https://github.com/tinyseraph/SetupPyExersise.git



参考になったサイト



依存するパッケージ

  • distribute

必須ファイル

  • setup.py
  • ソースコード

プロジェクトのディレクトリ構成(サンプル)

パッケージの構成。

.                                        
├── MANIFEST.in                    << バンドルするファイルのリスト                       
├── README.txt                        
├── scripts                            << コマンド類
│   ├── commandfile                                  
├── setup.py                         << 本体
└── src                                  << ソースルート
    ├── packagename              << Python のパッケージ       
       ├── __init__.py              
       ├── echo.py                  
       ├── echolist.py              
       ├── hoge                     
       │   ├── __init__.py         
       │   └── echo.py             
       ├── moduledata               
       │   ├── goodbylist          
       │   │   └── goodbylist.txt 
       │   ├── hellolist.txt                  
       └── tests                    
           ├── __init__.py          
           └── echo_test.py         



setup.py

2013-03-05

Scala Conference in Japan 2013 いってきました

SSLサーバ証明書の作成手順 (備忘録)

最近、身近で秘密鍵にまつわる不幸なできごとがあったので備忘録。



1.サーバキー(秘密鍵)の作成

  • パスフレーズなし
$ openssl genrsa -out ./ssl.key 2048


  • パスフレーズあり
$ openssl genrsa -des3 -out ./ssl.key 2048



2.CSR 公開鍵の作成

$ openssl req -new -key ./ssl.key -out ./ssl.csr

Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Inc.
Organizational Unit Name (eg, section) []:-
Common Name (eg, your name or your server's hostname) []:ccm-lulu.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []



3.秘密鍵と公開鍵が一致するか確認する

$ openssl rsa -noout -modulus -in ssl.key | openssl md5 |tee > key.md5
(stdin)= 298e0cxxxxxxxxxxxxxxxxxxxxxc3def
$
$ openssl req -noout -modulus -in ssl.csr | openssl md5 |tee > csr.md5
(stdin)= 298e0cxxxxxxxxxxxxxxxxxxxxxc3def

$ diff key.md5 csr.md5



4.認証局へ公開鍵を登録依頼

  • 認証局

  • https://www.cybertrust.ne.jp/

  • https://www.verisign.co.jp/

  • https://jp.globalsign.com/

  • ssl.csr を認証局へ提出



or


  • オレオレ認証局
openssl x509 -in ssl.csr -out ssl.crt -req -signkey ssl.key -days 3650



5.認証局からサーバ証明書を受け取る

  • ssl.crt



6.ssl を利用するサーバに鍵とサーバ証明書を配置する

  • ssl.key
  • ssl.crt