{"id":22799646,"url":"https://github.com/miyako/hpki","last_synced_at":"2026-03-06T06:03:45.041Z","repository":{"id":235812960,"uuid":"791168856","full_name":"miyako/hpki","owner":"miyako","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-15T00:37:58.000Z","size":85596,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T01:33:17.029Z","etag":null,"topics":["4d-class","4d-component","hpki","jpki"],"latest_commit_sha":null,"homepage":"https://miyako.github.io/hpki/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miyako.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-24T08:10:46.000Z","updated_at":"2025-05-15T00:37:08.000Z","dependencies_parsed_at":"2024-04-24T16:50:23.788Z","dependency_job_id":"8f58ca7a-622c-46d6-9b16-1f44764b8e4e","html_url":"https://github.com/miyako/hpki","commit_stats":null,"previous_names":["miyako/4d-class-hpki"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/miyako/hpki","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2Fhpki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2Fhpki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2Fhpki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2Fhpki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miyako","download_url":"https://codeload.github.com/miyako/hpki/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2Fhpki/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["4d-class","4d-component","hpki","jpki"],"created_at":"2024-12-12T07:09:30.312Z","updated_at":"2026-03-06T06:03:44.322Z","avatar_url":"https://github.com/miyako.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![version](https://img.shields.io/badge/version-20%2B-E23089)\n![platform](https://img.shields.io/static/v1?label=platform\u0026message=mac-intel%20|%20mac-arm%20|%20win-64\u0026color=blue)\n[![license](https://img.shields.io/github/license/miyako/4d-class-hpki)](LICENSE)\n![downloads](https://img.shields.io/github/downloads/miyako/4d-class-hpki/total)\n\n# hpki\n\nマイナンバーカードまたは日本医師会認証局のICカードを使用するためのツール\n\nCLIプログラム単体のダウンロードは[こちら](https://github.com/miyako/hpki/releases/tag/bin-1.0.0)\n\n関連CLIプログラム\n\n* [XMLLint](https://github.com/miyako/libxml2/releases/tag/bin-1.0.0)\n* [OpenSSL](https://github.com/miyako/OpenSSL/releases/tag/bin-1.0.0)\n\n```\nusage: hpki [options...] FILE\n-c, --certificate type: print certificate\n-s, --sign type: sign document\n-o, --output path: output file path\n-p, --pin4 val: specify scard short pin\n-P, --pin6 val: specify scard long pin\n-r, --reader val: specify scard reader\n-m, --mynumber: print personal identification number\n-i, --myinfo: print basic personal information\n-l, --list: print scard readers\n-a, --algorithm: digest info hash algorithm (sha1,sha256,sha384,sha512)\n-v, --version: show version information\n```\n\n## dependencies.json\n\n ```json\n{\n    \"dependencies\": {\n        \"hpki\": {\n            \"github\": \"miyako/hpki\",\n            \"version\": \"latest\"\n        }\n    }\n}\n```\n\n\u003cimg src=\"https://github.com/user-attachments/assets/ba8c3d25-a2c6-43f0-ad40-ead147cec963\" width=600 height=auto /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/cc834fbd-2709-4b33-9f1d-559108c0c371\" width=600 height=auto /\u003e\n\n### 認証用証明書を取得する\n\n**原則** 医師会カードは証明書の取得に暗証番号は不要・署名4桁。マイナンバーカードは証明書の取得に暗証番号が必要・認証4桁・署名6桁。\n\n* マイナンバーカード\n```\nhpki\n--pin4 {4桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --certificate identity\n{--output ~/Desktop/証明書.json}\n```\n\n* 医師会カード\n```\nhpki\n --reader \"SONY FeliCa RC-S300/P\"\n --certificate identity\n{--output ~/Desktop/証明書.json}\n```\n\n### 認証用証明書で署名する\n\n* マイナンバーカード\n```\nhpki\n--pin4 {4桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --sign identity\n{--output ~/Desktop/署名.json}\nFILE\n```\n\n* 医師会カード\n```\nhpki\n--pin4 {4桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --sign identity\n{--output ~/Desktop/署名.json}\nFILE\n```\n\n`FILE`の代わりに`stdIn`でも良い\n\n### 署名用証明書を取得する\n\n* マイナンバーカード\n```\nhpki\n--pin6 {6桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --certificate signature\n{--output ~/Desktop/証明書.json}\n```\n\n* 医師会カード\n```\nhpki\n --reader \"SONY FeliCa RC-S300/P\"\n --certificate signature\n{--output ~/Desktop/証明書.json}\n```\n\n### 署名用証明書で署名する\n\n* マイナンバーカード\n```\nhpki\n--pin6 {6桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --sign signature\n{--output ~/Desktop/署名.json}\nFILE\n```\n\n* 医師会カード\n```\nhpki\n--pin4 {4桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --sign signature\n{--output ~/Desktop/署名.json}\nFILE\n```\n\n`FILE`の代わりに`stdIn`でも良い\n\n### 署名例\n\n```json\n{\n   \"cardType\" : \"JPKI\",\n   \"digestInfo\" : \"3031300b0609608648016503040201050004204a641dc5fed621af8535eb34dc2cbe7f8d7f05e979454ac455f85c75c9e97aef\",\n   \"signature\" : \"713fe087399ce937a3d908b35f4dbfc9aef4881f29633e5bce99b23e65f03bc4d402c2d1344549d101efec52d298e7be4532b376ebb9608f035c49a86f82fa3913399106b84ba0e5a887111ea9c7b86ce73e0fa32af0d7113f4f8ce276e349d9ee19a6efcae99b6bbdf5c8d6862e385dfcf2308645b57a66701dfe26ab08c3968710334d783839c389f60aaa9200c977c349e6bd5372f00f5d53ab4b05910182ce5938a5ce70345d832ceb7a1acbfea5eec02d2b138fc43d215da4d0063af4f97014587a989109d2f7f1398b90f46eb0fe653d76ebefd2ca0e0e31cd974c17cb32faa13c9f844851b9c897dca60d713d5426ca4b2351e241c1b57093624d4aac\",\n   \"slotName\" : \"SONY FeliCa RC-S300/P\",\n   \"success\" : true\n}\n```\n\n**注記**: なぜか日本医師会のカードはMacにHDMIを接続していると署名に失敗する（リーダーとUSBアダプターの相性かもしれない）\n\n## 基本4情報の取得（マイナンバーカード）\n\n```\nhpki\n--pin4 {4桁暗証番号}\n --reader \"SONY FeliCa RC-S300/P\"\n --myinfo\n```\n\n## 個人番号の取得（マイナンバーカード）\n\n```\n/hpki\n--pin4 {4桁暗証番号}\n--reader \"SONY FeliCa RC-S300/P\"\n --mynumber\n```\n\n` --mynumber`と` --myinfo`の両方を渡しても良い\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiyako%2Fhpki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiyako%2Fhpki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiyako%2Fhpki/lists"}