忍者ブログ
開発中に遭遇した落とし穴や忘れそうな事柄を書いた個人メモ
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
[02/03 NONAME]
最新トラックバック
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
アクセス解析
10
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

azure上で、WCFサービスをwsHttpBingingで提供する場合のメモ

今回、認証はない状態で、wsHttpBindingを利用する
このなかでは、証明書の作成から登録までを行う手順をしめす

尚、この内容を理解するにあたっては、azureおよび証明書の取り扱いが理解できていることが前提になる

まず、サーバー認証用に証明書を作成する

azureへの証明書登録が必要なため、*.pfx形式の証明書が必要になる

管理者権限のある、コマンドプロンプトを開き
以下のコマンドを実行する
certutil -p pfx作るときに指定したパスワード -importpfx [登録するpfxファイル名]

用意した証明書は、VisualStudioで、azureプロジェクトの対象となるロールプロパティを開き
証明書タブを選択する。

[証明書の追加]の実行
名前は任意で
ストアの場所は、LocalMachine
ストアの名前は、My
サムサムプリントは、右側の[・・・]ボタンをクリックして、先ほど登録したpfx証明書を選択する
このとき、証明書がない場合、上記のコマンドで、pfx証明書が登録されていないことになる

次に、クライアント認証の証明書を、先ほど登録したサーバー証明書をもとに作成する
certmgr -put -c -n [証明書の名前] -r LocalMachine -s My [cerファイル]
MMCで、証明書(ローカルコンピュータ)の個人-証明書からcerファイルをエクスポートしても
同様のファイルを生成できるはず

生成されたcerファイルの証明書を登録する
certmgr -add [cerファイル名] -c -r CurrentUse r -s TrustedPeople
MMCで、証明書(現在のユーザー\信頼されたユーザー\証明書)に登録されるはず

以上で、証明書の作成および登録作業は完了となる
おそらく、サーバー認証情報はVisualStudioのプロジェクトに登録されるため、
別のPCで、プロジェクトを開いて発行(デプロイ)しても、azure上に登録できると思われるが
もし、失敗した場合は、登録したPCで発行すること

尚、クライアント認証用の証明書は、サービスを要求するクライアントPCへは、登録が必要
そのため、作成したcerファイルを使って事前に登録する必要がある

拍手

PR
azureのSSLを取り扱う時のendpointに関してのメモ

パブリックポートは、ユニークにする必要あり、
SSL証明で、サブドメインをワイルドカード(*)にした場合、
登録中endpointで、同一ドメインのサブドメイン定義されている証明書を
登録したとしても、パブリックポートに関連した証明書チェックは行われないもよう
ワイルドカードドメインが優先されるもよう
証明書にポート指定までされていないんだから、あたりまえかも

拍手

 Azureストレージのテーブル名は、
'_'は使えません。

・英数字のみ(先頭文字は英字のみ)
・大文字小文字は区別しない
・名前の長さは、3~63文字の間

エンティティには、最大255のプロパティを持つことができる
(システム予約プロパティ3つも含む)

拍手

 ASP.NETで自動生成されるログイン認証ページは、データ管理をSQLServerで行っているため、
そのままでは、使用できない。

そこで、MSではサンプルレベルとして、AspProvidersライブラリを提供しているが、SDKに含まれていないことから、今後変更されることになると思われる。


参考文献
実装にあたり非常に役に立ちました
http://codezine.jp/article/detail/5630
このあたりは、まだ発展途上のため、新しい文献を参考にしないとひどい目にあいます。
ちなみに、わたしがダウンロードした。azureのサンプルは「WAPTKVS2010-February2011exe」
で一つ新しいもの?だったが、とくに問題なく動作した。

ただし、上記の説明はデバッグ環境(ローカル)での説明なので、ターゲットのストレージが「DataConnectionString」
でない場合、AspProvidersのConfiguration.csのDefaultStorageConfigurationString変数を
任意に名称に変更する必要がある。

また、AspProvidersが使用する。web.config定義のkeyも「DataConnectionString」から任意の名称に
変更する必要があり、value値は、ストレージ設定用に変更が必要
当然、AccontKeyなども変更が必要


web.config

<configuration>
 
  <appSettings>
    <add key=「任意の名称」
               value="DefaultEndpointsProtocol=https;AccountName=「アカウント名」;AccountKey=「キーを登録」" />
  </appSettings>  




拍手

 1.3からIIS上での実装方法変更のため、接続文字列の取得方法を変更する必要がある
いままでは、各ロールのOnStartで記載していたが、これをGlobal.asaxのApplication_Startに
記述する必要がある

尚、ストレージのテーブル初期化などいままで、各ロールのOnRun等に記載していたが
いままは、Applicaton_Startに移動させました(これがベストかどうかは別だが)

参考資料
http://tatsuakisakai.net/?p=126

拍手

Copyright c 技術メモ All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]