CATEGORY

基盤技術

Apacheでクライアント証明書認証の方法

概要 クライアント証明書認証を行うリバースプロキシサーバを構築する方法を説明します。 フロントのリバースプロキシサーバ、バックエンドにWebアプリを配置した構成を想定しています。 リバースプロキシサーバでは、クライアント証明書の署名や有効期限などを検証する想定です。 Webアプリでは、サインインユーザが当該ユーザに対して発行されたクライアント証明書を使っているかを検証する、等のようにWebアプリで […]

検証用のリバースプロキシサーバの構築方法

リバースプロキシサーバで設定されるHTTPヘッダを使ったアプリの機能が必要になる場合がありますが、開発環境にリバースプロキシサーバが用意されることは経験的にほとんどなく、動作確認に困ることが多々あります… ここでは開発や検証に使用できる簡易なリバースプロキシサーバの構築方法について説明します。 概要 開発や検証を目的とし、ローカルPCにリバースプロキシサーバを構築する方法を説明します。 […]

ルート証明書を使ったサーバ証明書・クライアント証明書の作成方法

概要 検証・開発環境での使用を前提とした、ルート証明書の作成、その証明書で署名したサーバ証明書とクライアント証明書を作成する手順を説明します。 可能な限りシンプルで簡単な条件・手順になっています。結果として、証明書の作成条件やコマンド操作ではセキュリティを考慮していないことに注意してください。(証明書の有効期限やその他条件、パスワードの取り扱い等) 単純に自己署名のサーバ証明書やクライアント証明書 […]

Windowsの証明書ストアの基礎知識と確認方法

※証明書ストア、システムストア、物理ストアの厳密な定義や違いを読み解けなかったため、マイクロソフトのリファレンスを意訳して言葉を使用しています。 証明書ストアの基礎 証明書は「ローカルコンピューター」または「現在のユーザー」と呼ばれる証明書ストア(システムストア)に保管されます。 それぞれの証明書ストア(システムストア)は、さらに「個人」「信頼されたルート証明書機関」等の物理ストアに分かれています […]

localhost(pfx)をPEM形式の証明書と鍵に変換

開発環境にて、Visual Studioのインストール時に追加されるlocalhostサーバ証明書(IIS Express Development Certificate)を、Apache httpdサーバで利用できるようにPEM形式に変換する方法を説明します。 前提 Windows 10環境で検証しています。 Visual Studio 2019のインストールで、ユーザの「信頼されたルール証明機 […]

デジタル証明書のエンコードと拡張子の違い

デジタル証明書の種類と拡張子の理解が曖昧だったので整理してみました。 証明書や鍵そのものは基本的にはバイナリデータです。 これらのデータは、X.509やPKCSで仕様化されています。 X.509: 公開鍵証明書の標準形式や証明書パス検証アルゴリズムなどを定めている。 PKCS: RSAセキュリティテスト社が公開した公開鍵暗号標準である。 証明書や鍵のファイルの拡張子は標準化されていませんが、次のよ […]

.NET Core: Microsoft.Graph.Authの正式版予定

.NET CoreでMicrosoft Graphを操作するために、Microsoft Graph API SDK(“Microsoft.Graph”パッケージ)の使用を考えています。このパッケージでは認証機能(認証プロバイダ)は提供しておらず、別途認証用のパッケージを使用するか独自に実装する必要があります。 マイクロソフトのサンプルや資料を見ると、「Microsoft G […]

C#: Graph API ユーザアカウント操作サンプル

概要 管理者がAzure AD B2Cのユーザアカウントの管理が行えるASP.NET Coreのアプリの開発を想定している。Azure AD B2Cユーザアカウントの作成や更新等の操作はMicrosoft Graphを使用する必要があり、その技術調査としてサンプルを作成しました。 .NET CoreでMicrosoft Graphを操作するためのライブラリとして、Microsoft Graph A […]

AzureAD B2Cユーザアカウントの操作方法(PowerShell)

PowerShellでAzure AD B2Cのユーザアカウントを操作する方法を説明します。 概要 AzureAD B2CのユーザアカウントをPowerShellで操作する方法を説明します。 拡張属性・カスタム属性を操作する方法も併せて説明します。 なお、拡張属性とカスタム属性については、こちらに纏めてみました。 PowerShellからAzureADを操作するためのモジュールはいくつかありますが […]

Azure AD B2Cの拡張属性とカスタム属性の違い

Azure AD B2Cのユーザアカウントを操作する際、拡張属性(ExtensionProperty)とカスタム属性(Custom Attribute)というキーワードがあり紛らわしい…ということで調べてみました。 「拡張属性」と「カスタム属性」の違い テナントで独自に定義した属性を「カスタム属性」、カスタム属性や非標準の属性をユーザアカウントに格納するための属性を「拡張属性」と呼びま […]