Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
15b95cf8
Commit
15b95cf8
authored
Sep 26, 2002
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow SSL to work withouth client-side certificate infrastructure.
parent
c889c9c9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
3 deletions
+18
-3
doc/src/sgml/runtime.sgml
doc/src/sgml/runtime.sgml
+2
-1
src/backend/libpq/be-secure.c
src/backend/libpq/be-secure.c
+5
-1
src/interfaces/libpq/fe-secure.c
src/interfaces/libpq/fe-secure.c
+11
-1
No files found.
doc/src/sgml/runtime.sgml
View file @
15b95cf8
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.1
39 2002/09/25 21:16:10 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.1
40 2002/09/26 04:41:54 momjian
Exp $
-->
-->
<Chapter Id="runtime">
<Chapter Id="runtime">
...
@@ -2876,6 +2876,7 @@ openssl rsa -in privkey.pem -out cert.pem
...
@@ -2876,6 +2876,7 @@ openssl rsa -in privkey.pem -out cert.pem
Enter the old passphrase to unlock the existing key. Now do
Enter the old passphrase to unlock the existing key. Now do
<programlisting>
<programlisting>
openssl req -x509 -in cert.req -text -key cert.pem -out cert.cert
openssl req -x509 -in cert.req -text -key cert.pem -out cert.cert
chmod og-rwx cert.pem
cp cert.pem <replaceable>$PGDATA</replaceable>/server.key
cp cert.pem <replaceable>$PGDATA</replaceable>/server.key
cp cert.cert <replaceable>$PGDATA</replaceable>/server.crt
cp cert.cert <replaceable>$PGDATA</replaceable>/server.crt
</programlisting>
</programlisting>
...
...
src/backend/libpq/be-secure.c
View file @
15b95cf8
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.1
4 2002/09/04 23:31:34 tgl
Exp $
* $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.1
5 2002/09/26 04:41:54 momjian
Exp $
*
*
* Since the server static private key ($DataDir/server.key)
* Since the server static private key ($DataDir/server.key)
* will normally be stored unencrypted so that the database
* will normally be stored unencrypted so that the database
...
@@ -642,9 +642,13 @@ initialize_SSL(void)
...
@@ -642,9 +642,13 @@ initialize_SSL(void)
snprintf
(
fnbuf
,
sizeof
fnbuf
,
"%s/root.crt"
,
DataDir
);
snprintf
(
fnbuf
,
sizeof
fnbuf
,
"%s/root.crt"
,
DataDir
);
if
(
!
SSL_CTX_load_verify_locations
(
SSL_context
,
fnbuf
,
CA_PATH
))
if
(
!
SSL_CTX_load_verify_locations
(
SSL_context
,
fnbuf
,
CA_PATH
))
{
{
return
0
;
#ifdef NOT_USED
/* CLIENT CERTIFICATES NOT REQUIRED bjm 2002-09-26 */
postmaster_error
(
"could not read root cert file (%s): %s"
,
postmaster_error
(
"could not read root cert file (%s): %s"
,
fnbuf
,
SSLerrmessage
());
fnbuf
,
SSLerrmessage
());
ExitPostmaster
(
1
);
ExitPostmaster
(
1
);
#endif
}
}
SSL_CTX_set_verify
(
SSL_context
,
SSL_CTX_set_verify
(
SSL_context
,
SSL_VERIFY_PEER
|
SSL_VERIFY_CLIENT_ONCE
,
verify_cb
);
SSL_VERIFY_PEER
|
SSL_VERIFY_CLIENT_ONCE
,
verify_cb
);
...
...
src/interfaces/libpq/fe-secure.c
View file @
15b95cf8
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.1
3 2002/09/22 20:57:21 petere
Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.1
4 2002/09/26 04:41:55 momjian
Exp $
*
*
* NOTES
* NOTES
* The client *requires* a valid server certificate. Since
* The client *requires* a valid server certificate. Since
...
@@ -726,10 +726,14 @@ initialize_SSL(PGconn *conn)
...
@@ -726,10 +726,14 @@ initialize_SSL(PGconn *conn)
pwd
->
pw_dir
);
pwd
->
pw_dir
);
if
(
stat
(
fnbuf
,
&
buf
)
==
-
1
)
if
(
stat
(
fnbuf
,
&
buf
)
==
-
1
)
{
{
return
0
;
#ifdef NOT_USED
/* CLIENT CERTIFICATES NOT REQUIRED bjm 2002-09-26 */
printfPQExpBuffer
(
&
conn
->
errorMessage
,
printfPQExpBuffer
(
&
conn
->
errorMessage
,
libpq_gettext
(
"could not read root certificate list (%s): %s
\n
"
),
libpq_gettext
(
"could not read root certificate list (%s): %s
\n
"
),
fnbuf
,
strerror
(
errno
));
fnbuf
,
strerror
(
errno
));
return
-
1
;
return
-
1
;
#endif
}
}
if
(
!
SSL_CTX_load_verify_locations
(
SSL_context
,
fnbuf
,
0
))
if
(
!
SSL_CTX_load_verify_locations
(
SSL_context
,
fnbuf
,
0
))
{
{
...
@@ -789,6 +793,8 @@ open_client_SSL(PGconn *conn)
...
@@ -789,6 +793,8 @@ open_client_SSL(PGconn *conn)
/* check the certificate chain of the server */
/* check the certificate chain of the server */
#ifdef NOT_USED
/* CLIENT CERTIFICATES NOT REQUIRED bjm 2002-09-26 */
/*
/*
* this eliminates simple man-in-the-middle attacks and simple
* this eliminates simple man-in-the-middle attacks and simple
* impersonations
* impersonations
...
@@ -802,6 +808,7 @@ open_client_SSL(PGconn *conn)
...
@@ -802,6 +808,7 @@ open_client_SSL(PGconn *conn)
close_SSL
(
conn
);
close_SSL
(
conn
);
return
-
1
;
return
-
1
;
}
}
#endif
/* pull out server distinguished and common names */
/* pull out server distinguished and common names */
conn
->
peer
=
SSL_get_peer_certificate
(
conn
->
ssl
);
conn
->
peer
=
SSL_get_peer_certificate
(
conn
->
ssl
);
...
@@ -824,6 +831,8 @@ open_client_SSL(PGconn *conn)
...
@@ -824,6 +831,8 @@ open_client_SSL(PGconn *conn)
/* verify that the common name resolves to peer */
/* verify that the common name resolves to peer */
#ifdef NOT_USED
/* CLIENT CERTIFICATES NOT REQUIRED bjm 2002-09-26 */
/*
/*
* this is necessary to eliminate man-in-the-middle attacks and
* this is necessary to eliminate man-in-the-middle attacks and
* impersonations where the attacker somehow learned the server's
* impersonations where the attacker somehow learned the server's
...
@@ -834,6 +843,7 @@ open_client_SSL(PGconn *conn)
...
@@ -834,6 +843,7 @@ open_client_SSL(PGconn *conn)
close_SSL
(
conn
);
close_SSL
(
conn
);
return
-
1
;
return
-
1
;
}
}
#endif
return
0
;
return
0
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment