証明書は、Web サーバーが ID とセキュリティで保護された通信チャネルを証明するためのメカニズムを提供します。 証明書 API は、HTTPS 経由でコンテンツを提供する Web サイトを作成するために不可欠です。
get
{
"alias": "My Self Signed Certificate",
"id": "{id}",
"issued_by": "CN=localhost",
"subject": "CN=localhost",
"thumbprint": "1E927A29E966FA11A7C469BC565A9E00B11F5F95",
"signature_algorithm": "sha256RSA",
"valid_from": "2017-04-12T11:26:26Z",
"valid_to": "2019-04-12T11:26:26Z",
"version": "3",
"intended_purposes": [
"Client Authentication",
"Server Authentication"
],
"private_key": {
"exportable": "false"
},
"subject_alternative_names": [
"DNS Name=localhost",
"DNS Name=my-work-pc"
],
"store": {
"name": "My",
"id": "{store-id}",
"_links": {
"self": {
"href": "/api/certificates/stores/{store-id}"
}
}
}
}
範囲要求
Web サーバーが非常に大量の証明書を持つことは珍しくありません。 これらのサーバーの証明書 API の使いやすさを向上させるために、エンドポイントは範囲要求をサポートします。 証明書エンドポイントに HEAD 要求を送信すると、X-Total-Count HTTP ヘッダーで使用可能な証明書の合計数で応答するようにサーバーに求められます。 その後、後続の要求で Range ヘッダーを設定することで、証明書をチャンク単位で要求できます。
HEAD/api/certificates
200 OK
x-total-count: 100
100 から 2 番目と 3 番目の証明書を再処理する
GET /api/certificates
Access-Token: Bearer {Access-Token}
Range: certificates=1-2
証明書ストア
すべての証明書は証明書ストアに属します。 使用可能な証明書ストアの一覧は、/api/certificates/stores
get
{
"stores": [
{
"name": "My",
"id": "{store-id}",
"_links": {
"self": {
"href": "/api/certificates/stores/{store-id}"
}
}
},
{
"name": "WebHosting",
"id": "{store-id}"
// _links omitted
},
{
"name": "IIS Central Certificate Store",
"id": "{store-id}"
// _links omitted
}
]
}
特定のストアの証明書を一覧表示する
証明書 API では、ストア別の証明書のフィルター処理がサポートされています。 これを行うには、ターゲット証明書ストアの id プロパティを取得する必要があります。 これは、証明書ストア エンドポイントを介して行うことができます。 その後、クエリ文字列の store.id フィールドを指定する証明書エンドポイントに対して要求を行う必要があります。 次の要求は、組み込みの Web ホスティング 証明書ストアのすべての証明書を取得します。
GET/api/certificates?store.id={store-id}
{
"certificates": [
{
"alias": "WebHostCert",
"id": "{cert-id}",
"issued_by": "CN=localhost",
"subject": "CN=localhost",
"thumbprint": "8E7933F41998C507B30F0E0AC8B548A903FE7843",
"valid_to": "2019-02-28T14:32:33Z",
"_links": {
"self": {
"href": "/api/certificates/{cert-id}"
}
}
}
]
}