Сбой вызова API-интерфейса REST PowerFlex при получении сертификатов MDM
Summary: При попытке получить сертификаты MDM с помощью вызова API REST от шлюза PowerFlex операция завершается сбоем.
Symptoms
PowerFlex Gateway показывает, что сертификаты 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, ou=asd, o=emc, c=us, st=massachusetts, l=hopkinton, cn=scaleio-14.14.14.102, givenname=mdm, Nov 7, 2023, trustedCertEntry,
В вызове API-интерфейса REST для получения сертификатов MDM отображается ошибка:
[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
Обратите внимание, что один и тот же вызов REST API для компонента LIA может вернуть ту же ошибку.
Воздействие
Не удается извлечь сертификат MDM или LIA с помощью вызова API REST.
Cause
В PowerFlex Gateway версии 3.6.1 и ниже шлюз предоставил сертификат MDM с помощью фиктивного хранилища доверенных сертификатов. В PowerFlex Gateway версии 3.6.2 код был изменен в рамках новой версии библиотеки cryptoj. Поэтому используется допустимое хранилище доверенных сертификатов.
В этом сценарии пользователь попытался получить и добавить сертификат MDM с помощью вызова API REST, но сертификат MDM уже был добавлен в хранилище доверенных сертификатов.
Этот код предназначен для извлечения сертификата MDM, если он отсутствует в шлюзе PowerFlex, так как он не является доверенным сертификатом, перед добавлением его в хранилище доверенных сертификатов.
Resolution
Вызов API-интерфейса REST может извлечь сертификат MDM/LIA, если сертификат еще не добавлен в хранилище доверенных сертификатов.
Убедитесь, что извлекаемый сертификат MDM еще не добавлен в хранилище доверенных сертификатов. В этом примере MDM с IP-адресом «14.14.14.102» не добавлен в хранилище доверенных сертификатов.
[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,
Выполнение вызова API-интерфейса REST для получения сертификата MDM выполнено успешно.
[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
Исправлено в версии
Н/Д — работает в соответствии с проектом