提交 504efb5b 编写于 作者: S Serge Rider

#3 PG SSL

上级 6bda4bd3
......@@ -38,6 +38,7 @@ public class PostgreConstants {
public static final String PROP_SHOW_NON_DEFAULT_DB = DBConstants.INTERNAL_PROP_PREFIX + "show-non-default-db@";
public static final String PROP_USE_SSL = DBConstants.INTERNAL_PROP_PREFIX + "ssl@";
public static final String PROP_SSL_NON_VALIDATING = DBConstants.INTERNAL_PROP_PREFIX + "ssl-non-validating@";
public static final String PROP_SSL_CERT = DBConstants.INTERNAL_PROP_PREFIX + "ssl-cert@";
public static final DBSEntityType ENTITY_TYPE_SEQUENCE = new DBSEntityType("pg_sequence", "Sequence", DBIcon.TREE_SEQUENCE, true);
......
......@@ -79,6 +79,12 @@ public class PostgreDataSourceProvider extends JDBCDataSourceProvider {
if (!CommonUtils.isEmpty(connectionInfo.getDatabaseName())) {
url.append(connectionInfo.getDatabaseName());
}
if (CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_USE_SSL))) {
url.append("?ssl=true");
if (CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_SSL_NON_VALIDATING))) {
url.append("&sslfactory=org.postgresql.ssl.NonValidatingFactory");
}
}
return url.toString();
}
......
......@@ -52,6 +52,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
private Text passwordText;
private ClientHomesSelector homesSelector;
private Button useSslButton;
private Button sslNonValidating;
private Text sslCertText;
private Button hideNonDefault;
private boolean activated = false;
......@@ -149,7 +150,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
{
Group secureGroup = new Group(addrGroup, SWT.NONE);
secureGroup.setText("Security");
secureGroup.setText("Settings");
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 4;
secureGroup.setLayoutData(gd);
......@@ -160,7 +161,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
{
Group secureGroup = new Group(addrGroup, SWT.NONE);
secureGroup.setText("Options");
secureGroup.setText("SSL");
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 4;
secureGroup.setLayoutData(gd);
......@@ -175,6 +176,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
}
}
});
sslNonValidating = UIUtils.createLabelCheckbox(secureGroup, "Do not validate certificate", true);
//sslCertText = UIUtils.createLabelText(secureGroup, "Certificate Path", "");
}
......@@ -228,6 +230,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
final boolean useSSL = CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_USE_SSL));
useSslButton.setSelection(useSSL);
sslNonValidating.setSelection(CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_SSL_NON_VALIDATING)));
if (sslCertText != null) {
sslCertText.setText(CommonUtils.toString(connectionInfo.getProperty(PostgreConstants.PROP_SSL_CERT)));
sslCertText.setEnabled(useSSL);
......@@ -263,6 +266,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
}
connectionInfo.setProperty(PostgreConstants.PROP_USE_SSL, useSslButton.getSelection());
connectionInfo.setProperty(PostgreConstants.PROP_SSL_NON_VALIDATING, sslNonValidating.getSelection());
connectionInfo.setProperty(PostgreConstants.PROP_SHOW_NON_DEFAULT_DB, hideNonDefault.getSelection());
super.saveSettings(dataSource);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册