[RUBY] La 2ème bibliothèque SmartHR kiji est utilisée pour exécuter e-Gov (matériel public e-Gov)

Présentation du flux et des documents publics permettant aux développeurs de logiciels généraux de développer des services logiciels à l'aide de l'API de liaison externe e-Gov.

1. 1. Flux de développement

Les développeurs de logiciels généraux, etc. (ci-après dénommés «sociétés de développement») doivent demander le développement de logiciels à e-Gov (ministère des Affaires intérieures et des Communications).

① Postuler pour le développement de logiciels ② Les documents relatifs à la demande d'utilisation de l'environnement de vérification seront envoyés à ③ Le développeur remplit les éléments nécessaires (ID utilisateur, etc.) et envoie l'application d'utilisation de l'environnement de vérification à e-Gov. ④ e-Gov envoie des documents liés à l'environnement de vérification ⑤ Le développeur développe un service logiciel ⑥ Le développeur postule pour le test de confirmation final ⑦ Le développeur soumet le résultat final du test de confirmation ⑧ Le service logiciel peut être utilisé par jugement de e-Gov

Dans ③, le développeur décrit le contenu suivant dans le formulaire de demande d'utilisation de l'environnement de vérification.

No Contenu à remplir dans l'environnement de vérification utiliser le formulaire de demande
1 Nom de l'organisation corporative
2 Nom du logiciel
3 ID utilisateur (jusqu'à 3 personnes peuvent postuler)
4 Spécifiez l'API de liaison externe à utiliser dans l'environnement de vérification avec 〇. L'enregistrement de l'ID utilisateur, l'authentification de l'utilisateur et l'application par lots sont nécessaires.

Chez ④, e-Gov vous enverra des documents relatifs à l'environnement de vérification. Les développeurs doivent contrôler étroitement ces informations.

No Documents sur l'environnement de vérification
1 Avis d'utilisation de l'environnement de vérification (URL de l'environnement de vérification, ID logiciel, ID utilisateur, ID d'authentification de base et mot de passe)
2 Informations sur les données pour le test API (données de test pour l'API d'acquisition de la liste de notification de correction, API de correction partielle, API de resoumission de correction qui ne peut être utilisée que par l'ID de logiciel)
3 Test de confirmation final Spécifications et rapport du test

L'URL de l'environnement de vérification sera une URL de demande différente de celle de l'environnement de production. À ce moment, l'ID utilisateur décrit dans l'application d'utilisation de l'environnement de vérification est enregistré dans e-Gov et les certificats suivants sont gérés en association avec cet ID utilisateur.

Statut du certificat Nom du fichier de certificat
Efficacité e-GovEE01_sha2.pfx
Expiré e-GovEE04_sha2.pfx
Expiré e-GovEE05_sha2.pfx

2. À propos des documents publics

Vous pouvez télécharger les documents préparés pour les développeurs à partir d'e-Gov. Vous trouverez ici des guides d'utilisation, des conditions, des formulaires de demande, des spécifications, des certificats électroniques pour les tests d'environnement de vérification, etc.

No Guide d'utilisation, formulaire de demande, etc.
1 Présentation de l'API de l'API de lien externe
2 Guide d'utilisation de l'API de liaison externe
3 Coopération externe API divers formulaires de demande (ensemble)
4 Conditions d'utilisation de l'API de coopération externe
5 API de lien externe Traitement des informations personnelles
No Spécifications, définition de la structure XML du formulaire de candidature
1 Spécifications de l'API API de liaison externe (version 1)
2 Spécifications des exigences de sécurité des informations de l'API de liaison externe
3 API de liaison externe Spécifications de données d'application Spécifications de données communes
4 Liste des procédures applicables
5 Liste des informations de procédure / liste des destinations de soumission (ensemble)
6 Formulaire de demande Définition de la structure XML Procédures liées à l'assurance sociale
7 Formulaire de demande Définition de la structure XML procédures liées à l'assurance-emploi
8 Formulaire de demande Définition de la structure XML Procédures liées à la collecte des demandes d’assurance du travail
No Procédure de test de l'environnement de vérification
1 Liste des procédures de test API
2 Liste des procédures de test API (liste de transition d'état de procédure de test API jointe)
3 Formulaire de candidature Définition de la structure XML [procédure de test API]
No Certificat numérique pour le test d'environnement de vérification
1 Certificat électronique

Ici, nous présenterons les spécifications, les procédures de test de l'environnement de vérification et les certificats électroniques.

2.1 Spécifications

(1) Spécifications API (Version 1)

Il décrit les spécifications liées à l'URI de la requête et ses paramètres pour créer une application électronique à l'aide de l'API, le XML de transmission spécifié dans le corps de la requête http et le corps de la réponse (XML de la réponse) renvoyé par e-Gov.

(2) Spécifications des exigences de sécurité de l'information

Il décrit les exigences de sécurité que les développeurs doivent respecter lors du développement de logiciels.

(3) Spécifications des données d'application Spécifications des données communes

Les spécifications de données communes à toutes les procédures et les spécifications individuelles pour chaque procédure sont décrites. Les structures de balises XML sont définies pour le XML de gestion de la configuration, le XML des informations de configuration et le XML d'application.

(4) Spécifications des données d'application et définition de la structure XML de l'application

Les spécifications individuelles concernant les données d'application pour chaque procédure sont décrites.

2.2 Procédure d'essai de l'environnement de vérification

Il s'agit d'une spécification publique concernant la procédure de test qui peut être utilisée lors des tests liés à l'API de liaison externe dans l'environnement de vérification.

No Formulaire de demande définition de la structure XML [procédure de test API]
1 Liste des procédures de test API
2 Liste des procédures de test API (liste de transition d'état de procédure de test API jointe)
3 Formulaire de demande définition de la structure XML [procédure de test API]

--Dans l'environnement de vérification, 38 types de format standard et 45 types de format de signature individuelle sont préparés pour les procédures liées au travail et à l'assurance sociale pour les systèmes normaux et d'erreur. --Chaque procédure définit les conditions liées à la procédure (qu'elle soit signée, pièces jointes, destination de soumission, retrait, etc.), traitement éventuel après l'arrivée, etc. --Chaque procédure appartient à l'un des 32 modèles de formulaire, et il est nécessaire de définir des éléments de données en fonction du contenu du modèle de formulaire.

Dans la "Liste des procédures de test API", vous pouvez vérifier le contenu suivant pour la procédure de test.

――Le formulaire de demande pour chaque procédure est structuré de manière à couvrir les cas de test requis pour les tests liés à l'API, et les informations de procédure appropriées sont définies et conservées.

Dans la "Liste des procédures de test API (liste de transition d'état de procédure de test API jointe)", vous pouvez vérifier la transition d'état automatique. Les deux exemples suivants sont présentés.

--Sur le format standard, l'identificateur de procédure = 950A010002010000 est le nom de la procédure "Notification de changement (correction) lié à l'assurance maladie / établissement d'entreprise d'assurance de prévoyance sociale / demande électronique", et un document officiel sera émis. Lorsque le service logiciel crée une application par lots, il passe automatiquement de (atteint) → (en cours de révision) → (examen terminé), et lorsqu'il atteint (examen terminé), le document officiel peut être obtenu. --Sur le format standard, l'identificateur de procédure = 950A010700007000 est le nom de la procédure «Notification d'acquisition de qualification d'assurance d'assurance maladie / rente de bien-être assuré, notification d'acquisition de qualification / demande électronique d'assurance des gens de mer / assurance de rente sociale» et est un document officiel. Ne sera pas émis. Lorsque le service logiciel crée une application par lots, il passe automatiquement de (atteint) à (en cours de révision). De plus, lorsque le service logiciel fait une demande de retrait en spécifiant le numéro d'arrivée, il passe automatiquement de (en cours de révision - pendant le traitement du retrait) → (procédure terminée-retirée).

2.3 Certificat électronique

Cette section décrit la version SHA-256 du certificat numérique utilisé dans l'environnement de vérification.

No nom de fichier La description
1 e-GovEE01_sha2.pfx Un certificat valide prédéfini pour l'ID utilisateur
2 e-GovEE02_sha2.pfx Certificat valide
3 e-GovEE03_sha2.pfx Certificat valide
4 e-GovEE04-1_sha2.pfx Certificat expiré prédéfini pour l'ID utilisateur
5 e-GovEE04-2_sha2.pfx Certificat valide
6 e-GovEE05_sha2.pfx Certificat expiré prédéfini pour l'ID utilisateur

Le suffixe du certificat numérique représente le format du certificat. ".Pfx" est un format PKCS # 12 (PFX) pour les clés et les certificats, qui permet à la clé du serveur d'être stockée et protégée avec toute la chaîne de certificats. Ce format est souvent utilisé dans les produits Microsoft.

Vérifiez le contenu du certificat à l'aide de la commande openssl. Si on vous demande un mot de passe en cours de route, entrez "gpkitest".

résultat de l'exécution de openssl


>openssl pkcs12 -info -in e-GovEE01_sha2.pfx
Enter Import Password:(Entrez "gpkitest")
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes
    localKeyID: 01 00 00 00
    friendlyName: le-d39d0281-d8cb-4396-b002-b4366119c8e4
    Microsoft CSP Name: Microsoft Enhanced Cryptographic Provider v1.0
Key Attributes
    X509v3 Key Usage: 10
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQITLitdILmV8cCAggA
MBQGCCqGSIb3DQMHBAiXSoB8We54iwSCBMiWf80URxShHlnQltb0fsWst7cAZF2D
/FnXM/8RRrMuK561dB5f+7ImMTtJobdOYOEpeO8sqxhGGeEnivFPMhvrsdGKMZul
nCoQBk0ug0iG2vnlQZAP6RPhbo9u4H3ZtTxJeO4DnYdJJj681vxlkEwhQ+Xv7arV
ZkDAmP20E3tKsobuIKNoLDF6HvrsW6k3bSeYcQqjm71BUAZe9DR2JnBNilbnN7gn
NXtsl8B2bGj8/bATsF37elW/zRkm+35vhcV4jLOEJY67ZF9uVAmSgjGXDuEo3pWO
jrX3t5ErsDXXObjw35cVVTvXUZl6s98p2QC3D/hThUf+MBE+pjO3AnNdb0Pjikmf
Fx1VSaeRW1vpf6/oOdwBUGPJuUXyZm1t93/AiYMOG5r9UFLRoFoHKYeCUte+BO2o
N6M2wUSgekzQejrZeT6ATvRpA15yQ6laAFw6LwPRbJ3zykCch2UAPJaspXgUzdfA
9jGzGuq9xIOgeVe+Gi2OdLBk+hAc0qF+zkrwuhswWT3vSSNQ2/mlfl3kI7MPzcvB
82mzC0aPCts8oG0JVL3m/WpnfO6XFnB5GRB10mo7NyiecjHOEPCfsjOcsTr/Bl1N
EPkh4Rt+o315l4UFtIw8nfK8xiw9ag6Lc8n3IUy9+fUWe/MmZxsvKfMyUe8x8RJA
gubv1R8RUqPg+rq6rCydlPE3RlMwro5ooF5sblWANPpNJwyTOr1CEJHTyWzzdMnz
pdbVj0Tz9P3YvR9+KUmv5FPO+Ke/G0KLVbvg14OUfTr5xFEihUrYPOWtRlGlGOyT
le+rGFAzIsRTJvFU6RGsktGTXyzmPBxY2YPuTnDnkdUCLl8UIcXUPMeWRSIh5YC0
zpPgwLlDdy0dnDSIYo5j2yjhYCYcx0MkkZpkn896RcFkK/QnX5L+EvCz6GIZVxAi
yEzD6lFs4Uamm7E/6MbfyoxxbfIOq8BKoufhSbu/QzUlVw/f1+HXjROaTjB2zRuo
GmuWMugdhEMkKl1R4MTpIhoORdQNYGRWcJfbvSZx6gAmTDMoYkt5h05+haNyXY3t
VkLIlHnpRcQR+JgFghyp0j49kmgyKjRZ6XyCgRnUazE9GOalCZLRZuFQEIlgjNRQ
i5f+LI1UNULxD3PJR8A6AMXiasfk94t4qlpH5xc2HVC44Hrk/gX9vfIYBodw43qX
/r0Z2H/27Qte0IRAZ3jzBV46wN2Y0fqKVQNFchIIJleSebd/ka317ICI8gphf+Js
7Y//jUfl03X7oB2GviVHNzvtjJy0AgAlHkltEgswSbWmd3e+lsCtRpnpe4f1qj76
nYTy0AYtvcZwsE7EaCDYGz/KGQVJjorKVgK12N27catPUcDX3NPMhv9YVe1rcVhT
Iku2X6b0c+YmDSGs05m0LUp8HMN/RUAVg+77atjBT72yqABzV2OcZDc9vHCZfYg2
hO/NSfITPB/Jun/gd4VgjH8sO9Eupa/DgZKQ7b858Md6kjK37iKu8cxvG9VfizFj
/msgnKpZmB0lXnvb7hQUgbeOXC0HP1VswZqq1JBzvFICcFo+4KZQquig2SJytR5o
bFxOWp1zXMllQWSunt1aMnmun/B68BU6SiNXNjnTn+gAd+i3avys8X1VLZBFAwKF
6wY=
-----END ENCRYPTED PRIVATE KEY-----
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2000
Certificate bag
Bag Attributes
    localKeyID: 01 00 00 00
subject=/C=JP/O=DemoMin1/OU=CA1/CN=Ichiro Madoguchi
issuer=/C=JP/O=DemoMin1/OU=CA1
-----BEGIN CERTIFICATE-----
MIIEizCCA3OgAwIBAgIEWCsMRzANBgkqhkiG9w0BAQsFADAuMQswCQYDVQQGEwJK
UDERMA8GA1UECgwIRGVtb01pbjExDDAKBgNVBAsMA0NBMTAeFw0xOTEwMjUwMTE2
NTZaFw0yNDEwMjQxNDU5NTlaMEkxCzAJBgNVBAYTAkpQMREwDwYDVQQKDAhEZW1v
TWluMTEMMAoGA1UECwwDQ0ExMRkwFwYDVQQDDBBJY2hpcm8gTWFkb2d1Y2hpMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsD81VFFmGM26HYdeGrGzbPba
deBzU4WxIE1r6qeZLxjz7DiV42tjo8QFulWZk6hmCeb5j9ChKp+BA/9Yj6usccKH
ZrPQmbcXUZkXRXz9z/7CLxp8b1zAzJakZ0g7o9iU3a3TpyeP6V+GFtkO8YqfthEs
JsYzx82dUi85Bm4l5pnztozPdXRZd2VJpdwzGqtqw6N9PKzMNWux5C0jklkaPeP5
P6NHLfeN51+phkY2xkdJlry629PeKjZAwN0Z8Xu0JdubCvA95UctoZgBoOjpgDtW
ImV3o9hDpwu+1tMlEBhNZIuKOr2G38qRZ9iJUyoK+XhbzyBUu0A2cwCj0MshbwID
AQABo4IBlDCCAZAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIGQDBO
BgNVHRIERzBFpEMwQTELMAkGA1UEBhMCSlAxHjAcBgNVBAoMFeaooeaTrOawkemW
k+iqjeiovOWxgDESMBAGA1UECwwJ77yj77yh77yRMB8GA1UdIAEB/wQVMBMwEQYP
AoM4ho4xCAEBAAKMmyVkMGgGA1UdEQRhMF+kXTBbMQswCQYDVQQGEwJKUDEeMBwG
A1UECgwV5qih5pOs5rCR6ZaT6KqN6Ki85bGAMRIwEAYDVQQLDAnvvKPvvKHvvJEx
GDAWBgNVBAMMD+eqk+WPo+OAgOS4gOmDjjBQBgNVHR8ESTBHMEWgQ6BBpD8wPTEL
MAkGA1UEBhMCSlAxETAPBgNVBAoMCERlbW9NaW4xMQwwCgYDVQQLDANDQTExDTAL
BgNVBAMMBENSTDEwHwYDVR0jBBgwFoAUFNPnlvRSx8XFOnRlLumW95h4I18wHQYD
VR0OBBYEFD6UH9Exye9dEpz9MHJ3sbUDpoZSMA0GCSqGSIb3DQEBCwUAA4IBAQBb
CKyFGsqMv6+HkrY0OK+4v40PJQAa/KbOC3JTKooLfNCNXTiTwtWAl1sGN+Ow8pIp
8Yvj16VcYpi8zO4TmNe8NT+u/e2OvBXwJ9OxOs9UNI2m/mXGcSSJ7eXMR3aVCniD
U7IaQeicquQttLP9IOk9Ao1W+BM35y5bITA/BMO5tzgaimp4G484QtF/XLi40rGh
aZAHGEfvl0abJXPumjajhnGv7SCkjw4+9qdz5Dtp6kl+GVshQgo6ofpEWhVzdhfq
KhNy8dNRL7C/gOTYm+M9SAFk9syL5xKXRyMUGDOheypiJrW/QyOjrxs6cFa5VqaZ
WcRIq8yVPwABCpGG/hjU
-----END CERTIFICATE-----

――La partie entre "----- BEGIN ENCRYPTED PRIVATE KEY -----" à "----- END ENCRYPTED PRIVATE KEY -----" est la clé privée. --La partie entourée de "----- BEGIN CERTIFICATE -----" à "----- END CERTIFICATE -----" est le certificat (clé publique).

Dans e-Gov, le développeur du logiciel gère trois certificats en les associant à l'ID utilisateur souhaité lors de la candidature à l'environnement de vérification. Les certificats valides sont généralement utilisés dans les tests. De plus, le certificat expiré et le certificat révoqué seront utilisés dans le test pour renouveler le certificat géré par e-Gov.

Statut du certificat Nom du fichier de certificat
Efficacité e-GovEE01_sha2.pfx
Expiré e-GovEE04_sha2.pfx
Expiré e-GovEE05_sha2.pfx

3. 3. À propos du test de confirmation final

Pour le test de confirmation final, confirmez que la transmission / réception des données entre le service logiciel et e-Gov est réussie conformément aux spécifications e-Gov. Il ne confirme pas la fonction du service logiciel en tant qu'application.

La bibliothèque SmartHR kiji utilise RSpec pour automatiser le test de confirmation final.

No Nom de l'API Conditions à confirmer Code de réponse HTTP
1 Enregistrement de l'ID utilisateur Spécifiez l'ID utilisateur à ajouter "201"Être
2 Authentification d'utilisateur e-Spécifiez l'ID utilisateur enregistré dans Gov "200"Être
3 Application en vrac Spécifiez le fichier d'application par lots "202"Être
4 Obtenir des informations sur la liste(Spécification d'identification) Spécifiez le numéro de transmission au moment de l'application par lots "200"Être
5 Obtenir des informations sur la liste(Précisez la date) Spécifiez la période cible d'acquisition "200"Être
6 Acquisition des informations de la liste des candidatures Spécifiez le numéro de transmission au moment de l'application par lots "200"Être
7 Demande de statut Spécifiez le numéro d'arrivée obtenu en acquérant les informations de la liste des candidatures "200"Être
8 Retrait Spécifiez les données de retrait du numéro d'arrivée qui peuvent être retirées "200"Être
9 Obtenez la liste des notifications de correction Spécifiez un numéro d'arrivée corrigible pour les demandes de statut "200"Être
10 correction(resoumettre) correction(resoumettre)Précisez un numéro d'arrivée possible "202"Être
11 correction(Correction partielle) correction(Correction partielle)Précisez un numéro d'arrivée possible "202"Être
12 correction(Demande de modification) correction(Demande de modification)Précisez un numéro d'arrivée possible "202"Être
13 Obtenez une liste de documents officiels et de commentaires Spécifiez le numéro d'arrivée où le message de document officiel de la demande de statut est défini "200"Être
14 Obtention de documents officiels Indiquez le document officiel du numéro de notification dans le délai d'acquisition "200"Être
15 Acquisition des documents officiels terminée Précisez le document officiel acquis par l'acquisition du document officiel "200"Être
16 Vérification de la signature des documents officiels Précisez le document officiel acquis par l'acquisition du document officiel "200"Être
17 Recevoir une notification de commentaire Spécifiez la notification de commentaire du numéro de notification dans le délai d'acquisition "200"Être
18 Acquisition de notification de commentaire terminée Spécifiez la notification de commentaire acquise en acquérant la notification de commentaire "200"Être
19 Obtention d'une liste des institutions financières prenant en charge le paiement électronique "200"Être
20 Obtenir la liste des informations de paiement électronique Précisez le numéro d'arrivée à payer "200"Être
21 Ajouter des informations d'identification de certificat Spécifiez le certificat à enregistrer "200"Être
22 Mise à jour des informations d'identification du certificat Spécifiez le certificat à renouveler "200"Être
23 Supprimer les informations d'identification du certificat Spécifiez le certificat à supprimer "200"Être

Recommended Posts

La 2ème bibliothèque SmartHR kiji est utilisée pour exécuter e-Gov (matériel public e-Gov)
Partie 1 Exécutez e-Gov à l'aide de la bibliothèque SmartHR kiji (spécifications e-Gov)
La 3e bibliothèque SmartHR kiji est utilisée pour exécuter e-Gov (construction de l'environnement d'exécution)
4ème bibliothèque SmartHR kiji est utilisée pour exécuter e-Gov (contrôle de fonctionnement)
Je veux automatiser ssh en utilisant la commande expect! partie 2
Tokenize à l'aide de la bibliothèque Hugging Face
Qu'est-ce qu'une bibliothèque en langage C? Quelles informations sont ouvertes au public?
En utilisant COTOHA, j'ai essayé de suivre le cours émotionnel de la course aux meros.