| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  | $	! OpenSSL Internal Verification Procedure | 
					
						
							|  |  |  | $	! | 
					
						
							|  |  |  | $	! This script checks the consistency of a OpenSSL installation | 
					
						
							|  |  |  | $	! It had better be spawned, as it creates process logicals | 
					
						
							|  |  |  | $ | 
					
						
							|  |  |  | $	! Generated information | 
					
						
							|  |  |  | $	INSTALLTOP := {- $config{INSTALLTOP} -} | 
					
						
							|  |  |  | $	OPENSSLDIR := {- $config{OPENSSLDIR} -} | 
					
						
							|  |  |  | $ | 
					
						
							|  |  |  | $	! Make sure that INSTALLTOP and OPENSSLDIR become something one | 
					
						
							|  |  |  | $	! can use to call the startup procedure | 
					
						
							|  |  |  | $	INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") - | 
					
						
							|  |  |  | 		     - ".][000000" - "[000000." - "][" - "]A.;" + "." | 
					
						
							|  |  |  | $	OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") - | 
					
						
							|  |  |  | 		     - ".][000000" - "[000000." - "][" - "]A.;" + "." | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2021-10-15 18:22:04 +08:00
										 |  |  | $	v    := {- sprintf "%02d", split(/\./, $config{version}) -} | 
					
						
							| 
									
										
										
										
											2021-10-15 18:27:50 +08:00
										 |  |  | $	pz   := {- $target{pointer_size} -} | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  | $	 | 
					
						
							| 
									
										
										
										
											2016-07-08 21:01:04 +08:00
										 |  |  | $	@'INSTALLTOP_'SYS$STARTUP]openssl_startup'v' | 
					
						
							|  |  |  | $	@'INSTALLTOP_'SYS$STARTUP]openssl_utils'v' | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  | $	IF F$SEARCH("OSSL$LIBCRYPTO''pz'") .EQS. "" - | 
					
						
							| 
									
										
										
										
											2023-12-18 19:49:08 +08:00
										 |  |  |            .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" {- output_off() if $disabled{shared}; "" -}- | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  |            .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" - | 
					
						
							| 
									
										
										
										
											2023-12-18 19:49:08 +08:00
										 |  |  |            .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" {- output_on() if $disabled{shared}; "" -}- | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  |            .OR. F$SEARCH("OSSL$INCLUDE:[OPENSSL]crypto.h") .EQS. "" - | 
					
						
							|  |  |  |            .OR. F$SEARCH("OPENSSL:crypto.h") .EQS. "" - | 
					
						
							|  |  |  |            .OR. F$SEARCH("OSSL$EXE:OPENSSL''v'.EXE") .EQS. "" | 
					
						
							|  |  |  | $	THEN | 
					
						
							|  |  |  | $	    WRITE SYS$ERROR "Installation inconsistent" | 
					
						
							|  |  |  | $	    EXIT %x00018292 ! RMS$_FNF, file not found | 
					
						
							|  |  |  | $	ENDIF | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2016-07-19 15:17:09 +08:00
										 |  |  | $	ON ERROR THEN GOTO error | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  | $	! If something else is wrong with the installation, we're likely | 
					
						
							|  |  |  | $	! to get an image activation error here | 
					
						
							|  |  |  | $	openssl version -a | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2016-08-17 16:45:03 +08:00
										 |  |  | $	! FUTURE ENHANCEMENT: Verify that engines are where they should be. | 
					
						
							|  |  |  | $	! openssl engine -c -t checker | 
					
						
							| 
									
										
										
										
											2016-07-19 15:17:09 +08:00
										 |  |  | $ | 
					
						
							| 
									
										
										
										
											2021-10-15 18:40:49 +08:00
										 |  |  | $	! Verify that the built in providers are reachable.  If they aren't, | 
					
						
							|  |  |  | $	! then we're likely to get an image activation error here | 
					
						
							|  |  |  | $	openssl list -provider base -providers | 
					
						
							|  |  |  | $	openssl list -provider default -providers | 
					
						
							|  |  |  | $	openssl list -provider legacy -providers | 
					
						
							|  |  |  | $ | 
					
						
							| 
									
										
										
										
											2016-07-02 16:28:39 +08:00
										 |  |  | $	WRITE SYS$ERROR "OpenSSL IVP passed" | 
					
						
							|  |  |  | $	EXIT %x10000001 | 
					
						
							| 
									
										
										
										
											2016-07-19 15:17:09 +08:00
										 |  |  | $ | 
					
						
							|  |  |  | $ error: | 
					
						
							|  |  |  | $	save_status = $STATUS | 
					
						
							|  |  |  | $	WRITE SYS$ERROR "OpenSSL IVP failed" | 
					
						
							|  |  |  | $	EXIT 'save_status' |