MDM証明書の取得中にPowerFlex REST APIコールが失敗する
Summary: PowerFlex GatewayからREST APIコールを使用してMDM証明書を取得しようとすると、操作が失敗します。
Symptoms
MDM証明書がすでにトラストストアに追加されていることを示すPowerFlex Gateway:
[root@gw /]# /usr/bin/keytool -list -keystore /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/certificates/truststore.jks -storepass changeit|grep -i mdm ou=asd, o=emc, c=us, st=massachusetts, l=hopkinton, cn=scaleio-14.14.14.101, givenname=mdm, Nov 7, 2023, trustedCertEntry, ou=asd, o=emc, c=us, st=massachusetts, l=hopkinton, cn=scaleio-14.14.14.102, givenname=mdm, Nov 7, 2023, trustedCertEntry,
MDM証明書を取得するREST APIコールに、次のエラーが表示されます。
[root@gw /]# mdm_ip=14.14.14.101; curl -k -u admin:$token https://$gw_ip/api/getHostCertificate/Mdm?host=$mdm_ip
{"message":"Failed retrieving host 14.14.14.101 certificate","httpStatusCode":500,"errorCode":0}[root@gw /]#
scaleio.logファイルからのログには、次のエラーが表示される場合があります。
2023-11-07 22:05:43,739 [https-jsse-nio-443-exec-3] ERROR c.e.s.s.w.c.SpecialImplController - Got an exception in handleException com.emc.s3g.scaleio.common.gateway.ScaleIOException: Failed retrieving host 14.14.14.101 certificate
LIAコンポーネントに対して同じREST API呼び出しを実行すると、同じエラーが返される場合があることに注意してください。
問題
REST APIコールを使用してMDMまたはLIA証明書を取得できません。
Cause
PowerFlex Gatewayバージョン3.6.1以前では、Gatewayはダミーのトラストストアを使用してMDM証明書を提供しました。PowerFlex Gatewayバージョン3.6.2では、新しいcryptojライブラリー バージョンの一部としてコードが変更されました。したがって、有効なトラストストアが使用されます。
このシナリオでは、ユーザーがREST APIコールを使用してMDM証明書を取得して追加しようとしましたが、MDM証明書はすでにトラストストアに追加されていました。
このコードは、MDM証明書がPowerFlex Gatewayに存在しない場合に、トラストストアに追加する前に信頼できる証明書ではないため、MDM証明書を取得するように設計されています。
Resolution
証明書がまだトラストストアに追加されていない場合は、REST API呼び出しでMDM/LIA証明書を取得できます。
取得するMDM証明書がトラストストアにまだ追加されていないことを確認します。この例では、IP "14.14.14.102"のMDMはトラストストアに追加されていません。
[root@gw /# /usr/bin/keytool -list -keystore /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/certificates/truststore.jks -storepass changeit|grep -i mdm ou=asd, o=emc, c=us, st=massachusetts, l=hopkinton, cn=scaleio-14.14.14.101, givenname=mdm, Nov 7, 2023, trustedCertEntry,
MDM証明書を取得するためのREST APIコールの実行が正常に完了しました。
[root@gw /]# gw_ip=14.14.14.100; mdm_pass='Scaleio123!';token=`curl -k -u admin:$mdm_pass https://$gw_ip/api/login| sed 's/\"//g'` [root@gw /]# mdm_ip=14.14.14.102; curl -k -u admin:$token https://$gw_ip/api/getHostCertificate/Mdm?host=$mdm_ip -----BEGIN CERTIFICATE----- MIIDZDCCAkwCAQEwDQYJKoZIhvcNAQELBQAweDEMMAoGA1UEKgwDTURNMRMwEQYDVQQDDApuZXN0ZWRzdm0yMRIwEAYDVQQHDAlIb3BraW50b24xFjAUBgNVBAgMDU1hc3NhY2h1c2V0dHMxCzAJBgNVBAYTAlVTMQwwCgYDVQQKDANFTUMxDDAKBgNVBAsMA0FTRDAeFw0yMzAzMTQxNDA5MDFaFw0zMzAzMTIxNfe74hjFaMHgxDDAKBgNVBCoMA01ETTETMBEGA1UEAwwKbmVzdGVkc3ZtMjESMBAGA1UEBwwJSG9wa2ludG9uMRYwFAYDVQQIDA1NYXNzYWNodXNldHRzMQswCQYDVQQGEwJVUzEMMAoGA1UECgwDRU1DMQwwCgYDVQQLDANBU0QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfLI5AFL9EDmd7cBO0Vpe0tuGQa4iHDGIGik8tjCtZKvA9dNh1J5AlVrond1IUOxSezZYz19nDD4wPFrFE99/8zs9OXoisMgw7snNM0orKxbr3uxeQAdO37HVZL0Z4lbKHR3hCRAIEC4F6XZ1rid5gjpKQgePwCM2PWmOsefg68EDCpTWXoYzXgY0OVExbvC56CUTgIZGp92RCcXlZX5/x5pVfMXHYnlKm+wyUkQvl2Lg7GNjjqMGS8K8yaXQKzFpBjsnj58dxcThGCVxzntWit9/q35H0joa8Hw/YORN6gIUNzj79RFk1wopqa02zYRu8ooJJOOjNmGRahFVy7iyPAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHGhJiiHG7UlEAGk4k0QUKxIvUF0Agi/ho4ScnyWZlpu0YYrJpwrv4+RuZA5JgF6J13b8eOZMDlEvgOv5ljwsep4F8NgoUOUY7S3mu508HuPeNn5jw6vjYGclfbJSfttJ3/uAuTDt4+Fpor4SBuqEELegRaeABsT3ucuyhjyUKQoFR0krQQ77sVyI18PO5A7xb+RfaLViyiHbBSLZDyrhR9xePEoj/8IPJKFFqWIJGQRRPN6ynKa9vZT1P16HSuIt/2mlOsqEvTHbnPsJ9C1IUoI11ZApZI4vVwRAbLUTQjdNlcv/zekC0SfaJls/w9IgMdWiqMV42QOA0L7xEcoNc8= -----END CERTIFICATE-----[root@gw /]#
Additional Information
問題が発生するバージョン
PowerFlex 3.6.2
修正バージョン
該当なし - 設計どおりの動作