2015年6月8日月曜日

Azure AD Graph APIのexpire

Azure ADのGraphAPIを利用して、Access Tokenを取得すると、次のようなレスポンスが得られる。


resource: 00000002-xxxx-xxxx-xxxx-000000000000 
access_token: eyJ0eXAi....
expires_in: 3599
token_type: Bearer
not_before: 1433747097
expires_on: 1433750997

各値の意味は下記を参照
https://msdn.microsoft.com/en-us/library/azure/dn645538.aspx

expires_in : トークンの有効期間(秒数) (通常 1時間)
expires_on : トークンの有効時刻 1970-01-01T0:0:0Z UTCからの秒数
not_before : トークンの発行時刻 1970-01-01T0:0:0Z UTCからの秒数



2015年5月25日月曜日

OpenLDAPのパスワードハッシュ化

OpenLDAPでSHA2やPBKDF2方式のパスワードの生成方法のメモ

PBKDF2-SHA1方式
# slappasswd -h '{PBKDF2}' -o module-path=openldapモジュールのパス -o module-load=pw-pbkdf2 -s secret

PBKDF2-SHA256方式
# slappasswd -h '{PBKDF2-SHA256}' -o module-path=openldapモジュールのパス -o module-load=pw-pbkdf2 -s secret

PBKDF2-SHA512方式
# slappasswd -h '{PBKDF2-SHA512}' -o module-path=openldapモジュールのパス -o module-load=pw-pbkdf2 -s secret


SSHA512方式
# slappasswd -h '{SSHA512}' -o module-path=openldapモジュールのパス -o module-load=pw-sha2 -s secret

SSHA256方式
# slappasswd -h '{SSHA256}' -o module-path=openldapモジュールのパス -o module-load=pw-sha2 -s secret

Pythonのpasslibモジュールを使うと、簡単にPBKDF2-SHA512形式のパスワードを生成できる。

Cent6でのpasslibモジュールの利用準備
# yum install python-setuptools
# easy_install pip
# pip install passlib

passlibモジュールによるPBKDF2-SHA512形式パスワード文字列の生成スクリプト。
#!/usr/bin/env python
from passlib.hash import ldap_pbkdf2_sha512
def main():
password="secret"
hash = ldap_pbkdf2_sha512.encrypt(password, rounds=60000, salt_size=4)
print hash
return
main()