我有一个 Spring Boot 应用程序,我试图从中连接到 AWS RDS 上的 MySQL。但是我遇到以下错误的问题:
localhost-startStop-1, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca
Run Code Online (Sandbox Code Playgroud)
为 ssl 握手启用调试后,我看到该CertificateRequest步骤Cert Authorities:为空。根据我的理解,这是客户端(spring boot 应用程序)需要向服务器(mysql db)提交证书的部分。
Certificate Request 步骤 - 服务器将从客户端发出证书请求。*** Certificate chain,这是客户端发送到服务器的证书。在这种情况下,对我来说,它正在发送keyStore_cert.jks.到目前为止我认为的问题:
服务器(mySQL db)不知道客户端(我的应用程序)正在发送的这个证书(我的 keyStore_cert.jks)。但是,我的印象是除非您REQUIRE X509为用户设置,否则不需要客户端证书。
问题:
keyStore_cert.jks/ 中添加任何内容trustStore_cert.jks吗?这些是我的设置和我尝试过的。
jdbc:mysql://<host>:<port>/<db_name>?useLegacyDatetimeCode=false&verifyServerCertificate=true&useSSL=true&requireSSL=trueALTER USER '<my_db_user>'@'%' require SSL;
GRANT USAGE ON <db_name>.* TO '<my_db_user>'@'%' REQUIRE …Run Code Online (Sandbox Code Playgroud) 我正在尝试用Java编写PL/SQL.我想将一个参数作为String传递,但在SQL过程中它是一个VARCHAR(140).但是,当我运行程序时,它给我一个错误,我不明白为什么?
这是我的SQL程序:
CREATE OR REPLACE PROCEDURE task1
(input_tweet_id IN integer, input_user_id IN integer, input_time IN timestamp, input_tweet IN varchar(140))
is
begin
INSERT INTO tweet(tweetid, userid, publishtime, tweet)
VALUES (input_tweet_id,input_user_id,input_time,input_tweet);
END;
Run Code Online (Sandbox Code Playgroud)
Java调用:
int in_tweet_id = 0;
int in_user_id = 0;
Timestamp in_time =null;
String in_tweet ="";
Connection conn = DriverManager.getConnection (connStr, uname, passwd);
CallableStatement cstmt = conn.prepareCall("{? = call task1(?, ?)}");
// cstmt.registerOutParameter (1, oracle.jdbc.OracleTypes.CURSOR);
cstmt.setInt(1, in_tweet_id);
cstmt.setInt(2, in_user_id);
cstmt.setTimestamp(3,in_time);
cstmt.setString(4,in_tweet);
Run Code Online (Sandbox Code Playgroud)
错误:
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
at …Run Code Online (Sandbox Code Playgroud)