2013-11-06 5 views
0

Согласно примеру, в Java SDK:paypal rest api credentials возможный вопрос безопасности?

https://github.com/paypal/rest-api-sdk-java

ClientId, clientSecret извлекаются из файла sdk_config.properties, где они находятся в виде обычного текста. , например. Файл свойств, который поставляется с java SDK:

 

# Connection Information 
http.ConnectionTimeOut=5000 
http.Retry=1 
http.ReadTimeOut=30000 
http.MaxConnection=100 

# HTTP Proxy configuration 
# If you are using proxy set http.UseProxy to true and replace the following values with your proxy parameters 
http.ProxyPort=8080 
http.ProxyHost=127.0.0.1 
http.UseProxy=false 
http.ProxyUserName=null 
http.ProxyPassword=null 

#Set this property to true if you are using the PayPal SDK within a Google App Engine java app 
http.GoogleAppEngine = false 

# Service Configuration 
service.EndPoint=https://api.sandbox.paypal.com 
# Live EndPoint 
# service.EndPoint=https://api.paypal.com 

# Credentials 
clientID=EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM 
clientSecret=EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM 

 

Не проблема безопасности? Существуют ли лучшие альтернативы для хранения этих учетных данных?

Заранее спасибо.

ответ

0

Jeff здесь из PayPal. Я хотел бы знать, что вы беспокоитесь о проблеме с безопасностью, поэтому я могу более конкретно их рассмотреть. Я расскажу о том, что, по-вашему, вас беспокоит.

Эти полномочия должны жить где-то на сервере, который связывается с PayPal для совершения транзакций. Вы не хотите делиться clientSecret с внешним миром, поэтому, конечно, вы не хотите, чтобы этот файл был доступен через любую публичную конечную точку Интернета.

Если вы беспокоитесь о том, что ваши разработчики или сотрудники службы получают доступ к этому сектору, я могу предложить внедрить процесс развертывания, когда производственный компьютер доступен только для избранного набора доверенных людей и заполняет правильный набор учетные данные в этом файле только во время развертывания.

+0

Привет, Джефф, я имел в виду, что когда мы хотим защитить конфиденциальные данные, например. пароли, мы хэш их, а затем сохраним их в БД. Здесь конфиденциальные данные представлены в виде обычного текста, и любой, кто может получить доступ к этому конфигурационному файлу, может выполнять операции от имени этой учетной записи PayPal. – Benchik

+0

Да, вы хотите разрешить доверенным разработчикам или операционным пользователям доступ к секрету. Это зависит от вас, чтобы создать разумный процесс развертывания, когда этот секрет не подвергается ненадежным людям. Если учетные данные когда-либо были скомпрометированы, вы всегда можете удалить приложение на developer.paypal.com и создать новый. –

+0

Это несколько странный подход, потому что в случае паролей (которые хэшируются), даже если хакеру удается его получить, это бессмысленно для него, поскольку он хэшируется. Но здесь он по-прежнему остается текстовым, поэтому, если он взломан - чувствительные данные могут быть использованы как есть. – Benchik