資格情報マネージャをマネージドコードから使用する。スマートフォン用の表示で見る設計と実装の狭間で。この広告は、90日以上更新していないブログに表示しています。2010-05-21資格情報マネージャをマネージドコードから使用する。C#正しいやり方がマジで分らない。前提条件として、既に読んでいるけれどもイマイチ意味が分らないと言うか、分った気がしない情報源等。クラスWindowsで動作するクライアントアプリケーションを実装しているます。ある程度出来たら多分きっと間違いなくOSSとして公開するんだけど、今の所どこにも公開してませぬ。ユーザIDとパスワード(以後Credential)を扱うソフトウェアになるので、比較的真面目に実装しようかな...と思ったり。Vista)まず、Credentialを一体全体どこに保管するのが正しいのさ?という事。考えられるのは、ファイルを勝手な所に作る。Settingsの下辺りのユーザディレクトリのどこかレジストリに格納する。オレオレエントリをどこかHKEY\CURRENT_USER\SOFTWAREの下辺りに作る資格情報マネージャを使うかな、と考える訳です。資格情報マネージャは、WindowsXPやWindowsVistaのHomeエディション以下は、何かあったり無かったりするみたいなんだけどもさ。OSが抑えてる場所に格納するのが、相応に妥当だろうと考えるわけで。System.Security辺りの名前空間に資格情報マネージャをハンドリング出来る様なマネージドAPIがある筈だと考えるじゃん?普通に。言うか見つけられない。何でどうしてほわい?どこにあるの?致し方ないので、DllImportする等して、自分でWin32APIを叩くじゃん?いや、格納出来たよ、うん。Windows7だと、コントロールパネルの中に資格情報マネージャってあるのさ。汎用資格情報って所に、Credentialをエントリするとさ、以前のパスワード聞かずにガンガン変更出来ちゃう。2.0にリンクのあるサンプルコードでゴッソリ読めちゃうし変えられる。マズくね?しょうがないので、DPAPIを使ってパスワードを暗号化するじゃん?そしたら、資格情報マネージャや、そのサンプルコードから値を変えると、複合化出来なくなる。そりゃそうだよね、僕が書いたコードを彼らは知らない訳だからさ。それ、不便じゃね?アレ?どうしよう?と言うのが、今の状態。知りたいのは、Credentialをストレージする為の妥当な場所ややり方を考える為の基準。資格情報マネージャを使うとして、エントリを消せるけど、パスワードは変えられない様にする方法。パスワードを変えた時に、コールバックを貰う、もしくは割り込む方法。参考の為に今僕が書いたコードを張っておきます。ドメインがどうこう言う部分は、僕とは関係ないので、全く実装してませぬ。NativeCallから返ってきたポインタがそのまま使われる環境が存在する為コピーする。サイズを考慮せずに連続領域を全て持ってきてしまうらしく、末尾にtargetnameが付いてくる。資格情報マネージャに格納されたパスワードはある種のツールで中身を見る事が出来るので暗号化する。値が無効であるとみなす。03:08資格情報マネージャをマネージドコードから使用する。ClojureのコードをMaven2でビルドする。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事logback.groovyで設定記述しようとしたらアレな事になった件についてGradle-WrapperにHTTPとHTTPSのプロキシを設定して動かす。GitHubにGradleでリリース作業する。同一のGroupIdかつ同一バージョンで複数のArtifactIdを依存ライブラリとして指定する。月別アーカイブはてなブログをはじめよう!taichitaichiさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとは設計と実装の狭間で。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。