|
41 | 41 | package com.oracle.graal.python.builtins.modules;
|
42 | 42 |
|
43 | 43 | import static com.oracle.graal.python.builtins.PythonBuiltinClassType.NotImplementedError;
|
| 44 | +import static com.oracle.graal.python.builtins.PythonBuiltinClassType.PermissionError; |
44 | 45 | import static com.oracle.graal.python.nodes.BuiltinNames.J__SSL;
|
45 | 46 | import static com.oracle.graal.python.nodes.BuiltinNames.T__SSL;
|
46 | 47 | import static com.oracle.graal.python.nodes.ErrorMessages.SSL_CANT_OPEN_FILE_S;
|
|
66 | 67 | import javax.net.ssl.SSLContext;
|
67 | 68 | import javax.net.ssl.SSLEngine;
|
68 | 69 |
|
| 70 | +import com.oracle.graal.python.builtins.PythonOS; |
| 71 | +import com.oracle.graal.python.nodes.PRaiseNode; |
69 | 72 | import org.bouncycastle.util.encoders.DecoderException;
|
70 | 73 | import org.graalvm.nativeimage.ImageInfo;
|
71 | 74 |
|
|
92 | 95 | import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
|
93 | 96 | import com.oracle.graal.python.nodes.function.builtins.PythonBinaryClinicBuiltinNode;
|
94 | 97 | import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
|
| 98 | +import com.oracle.graal.python.nodes.function.builtins.PythonUnaryClinicBuiltinNode; |
95 | 99 | import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
|
96 | 100 | import com.oracle.graal.python.runtime.exception.PException;
|
97 | 101 | import com.oracle.graal.python.runtime.object.PythonObjectFactory;
|
@@ -382,6 +386,23 @@ Object getDefaultPaths() {
|
382 | 386 | }
|
383 | 387 | }
|
384 | 388 |
|
| 389 | + @Builtin(name = "enum_certificates", minNumOfPositionalArgs = 1, parameterNames = {"store_name"}, os = PythonOS.PLATFORM_WIN32) |
| 390 | + @Builtin(name = "enum_crls", minNumOfPositionalArgs = 1, parameterNames = {"store_name"}, os = PythonOS.PLATFORM_WIN32) |
| 391 | + @ArgumentClinic(name = "store_name", conversion = ArgumentClinic.ClinicConversion.TString) |
| 392 | + @GenerateNodeFactory |
| 393 | + abstract static class EnumCertificatesNode extends PythonUnaryClinicBuiltinNode { |
| 394 | + @Override |
| 395 | + protected ArgumentClinicProvider getArgumentClinic() { |
| 396 | + return SSLModuleBuiltinsClinicProviders.EnumCertificatesNodeClinicProviderGen.INSTANCE; |
| 397 | + } |
| 398 | + |
| 399 | + @Specialization |
| 400 | + static Object fail(TruffleString argument, |
| 401 | + @Cached PRaiseNode raiseNode) { |
| 402 | + throw raiseNode.raise(PermissionError); |
| 403 | + } |
| 404 | + } |
| 405 | + |
385 | 406 | @Builtin(name = "_test_decode_cert", minNumOfPositionalArgs = 1, numOfPositionalOnlyArgs = 1, parameterNames = {"path"})
|
386 | 407 | @GenerateNodeFactory
|
387 | 408 | abstract static class DecodeCertNode extends PythonUnaryBuiltinNode {
|
|
0 commit comments