Skip to content

Commit 9f52f43

Browse files
committed
Address security review comments
1 parent 3821bd9 commit 9f52f43

File tree

1 file changed

+9
-2
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ssl

1 file changed

+9
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ssl/CertUtils.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
107107
import com.oracle.graal.python.nodes.ErrorMessages;
108108
import com.oracle.graal.python.nodes.PConstructAndRaiseNode;
109+
import com.oracle.graal.python.runtime.PythonContext;
109110
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
110111
import com.oracle.graal.python.runtime.object.PythonObjectSlowPathFactory;
111112
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
@@ -670,9 +671,15 @@ private static void checkPrivateKey(Frame frame, PConstructAndRaiseNode construc
670671
* of data.
671672
*/
672673
try {
673-
Signature sign = Signature.getInstance(String.format("SHA1with%s", privateKey.getAlgorithm()));
674+
Signature sign;
675+
try {
676+
sign = Signature.getInstance(String.format("SHA256with%s", privateKey.getAlgorithm()));
677+
} catch (NoSuchAlgorithmException e) {
678+
sign = Signature.getInstance(String.format("SHA1with%s", privateKey.getAlgorithm()));
679+
}
674680
sign.initSign(privateKey);
675-
byte data = 123;
681+
byte[] data = new byte[128];
682+
PythonContext.get(constructAndRaiseNode).getSecureRandom().nextBytes(data);
676683
sign.update(data);
677684
byte[] signature = sign.sign();
678685
sign.initVerify(publicKey);

0 commit comments

Comments
 (0)