4emrtlsIcom/amazonaws/services/elasticmapreduce/spi/security/TLSArtifactsProvidertls_privateKeyLjava/lang/String;tls_certificatetls_interPrivateKeytls_interCertificatessm_privateKeyssm_certificatessm_interPrivateKeyssm_interCertificate accountId lambdaNameregionisCoreZ()VCode     #com/amazonaws/util/EC2MetadataUtils getInstanceInfo4()Lcom/amazonaws/util/EC2MetadataUtils$InstanceInfo; !#"0com/amazonaws/util/EC2MetadataUtils$InstanceInfo $% getAccountId()Ljava/lang/String; '  !) *% getRegion ,  . /readTags 1  3 45 callLambda&(Ljava/lang/String;)Ljava/lang/String; 7  9  ;  =  ?  A  C E/etc/certs/private.keyG/etc/certs/public.crt I JcreateDirectoryForCerts L MN writeCert'(Ljava/lang/String;Ljava/lang/String;)VLineNumberTableLocalVariableTablethisLemrtls;privateKeyPathcertificatePathV java/io/FileX /etc/certs UZ [(Ljava/lang/String;)V U] ^_mkdir()ZfLjava/io/File;cjava/io/BufferedWriterejava/io/FileWriter dZ bh i(Ljava/io/Writer;)V bk l[write bn oclose qsrjava/io/IOException tprintStackTrace vxwjava/lang/System yzoutLjava/io/PrintStream;|Error Writing file ~java/io/PrintStream [printlnfileNamecertwriterLjava/io/BufferedWriter;eLjava/io/IOException; StackMapTable decryptValue8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; java/util/Base64 getMimeDecoder()Ljava/util/Base64$Decoder; java/util/Base64$Decoder decode(Ljava/lang/String;)[B java/nio/ByteBuffer wrap([B)Ljava/nio/ByteBuffer;/com/amazonaws/services/kms/model/DecryptRequest  withCiphertextBlobH(Ljava/nio/ByteBuffer;)Lcom/amazonaws/services/kms/model/DecryptRequest;java/util/HashMap / java/lang/String  startsWith(Ljava/lang/String;)Zarn:aws:ssm:%s:%s:parameter%s%sjava/lang/Object format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; PARAMETER_ARN  java/util/Map put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; withEncryptionContextB(Ljava/util/Map;)Lcom/amazonaws/services/kms/model/DecryptRequest;'com/amazonaws/services/kms/AWSKMSClient  !com/amazonaws/regions/RegionUtils *2(Ljava/lang/String;)Lcom/amazonaws/regions/Region;  setRegion!(Lcom/amazonaws/regions/Region;)V decryptc(Lcom/amazonaws/services/kms/model/DecryptRequest;)Lcom/amazonaws/services/kms/model/DecryptResult; .com/amazonaws/services/kms/model/DecryptResult  getPlaintext()Ljava/nio/ByteBuffer; array()[B ([B)V valueToDecodeparameterNameprefix decodedBuffer[B encryptedTextLjava/nio/ByteBuffer;req1Lcom/amazonaws/services/kms/model/DecryptRequest;encryptionContextLjava/util/Map;paramArnclient)Lcom/amazonaws/services/kms/AWSKMSClient;kmsRes0Lcom/amazonaws/services/kms/model/DecryptResult;keyLocalVariableTypeTable5Ljava/util/Map;{"ParameterName":"%s"}1com/amazonaws/services/lambda/model/InvokeRequest    withFunctionNameG(Ljava/lang/String;)Lcom/amazonaws/services/lambda/model/InvokeRequest; 2com/amazonaws/services/lambda/model/InvocationType RequestResponse4Lcom/amazonaws/services/lambda/model/InvocationType;    withInvocationTypei(Lcom/amazonaws/services/lambda/model/InvocationType;)Lcom/amazonaws/services/lambda/model/InvokeRequest;    withPayload-com/amazonaws/services/lambda/AWSLambdaClient    invokeg(Lcom/amazonaws/services/lambda/model/InvokeRequest;)Lcom/amazonaws/services/lambda/model/InvokeResult; 0com/amazonaws/services/lambda/model/InvokeResult  getPayloadUTF-8  ([BLjava/lang/String;)V ! #java/lang/ExceptionssmParameterKey payload3Lcom/amazonaws/services/lambda/model/InvokeRequest;/Lcom/amazonaws/services/lambda/AWSLambdaClient;lmdRes2Lcom/amazonaws/services/lambda/model/InvokeResult;bbuffrawJsondecVal.4com/amazonaws/services/ec2/model/DescribeTagsRequest - 1 2% getInstanceId4java/util/LinkedList 3 798java/util/Arrays :;asList%([Ljava/lang/Object;)Ljava/util/List;='com/amazonaws/services/ec2/model/Filter? resource-id <A B%(Ljava/lang/String;Ljava/util/List;)V DFEjava/util/Collection GHadd(Ljava/lang/Object;)Z -J KL setFilters(Ljava/util/Collection;)VN*com/amazonaws/services/ec2/AmazonEC2Client M M MR ST describeTagsm(Lcom/amazonaws/services/ec2/model/DescribeTagsRequest;)Lcom/amazonaws/services/ec2/model/DescribeTagsResult; VXW3com/amazonaws/services/ec2/model/DescribeTagsResult YZgetTags()Ljava/util/List; \^]java/util/List _`iterator()Ljava/util/Iterator; bdcjava/util/Iterator efnext()Ljava/lang/Object;h/com/amazonaws/services/ec2/model/TagDescription gj k%getKeym(aws:elasticmapreduce:instance-group-role o pHequals gr s%getValueuCOREwssm:ssl:certificateyssm:ssl:private-key{ssm:ssl:inter-node-certificate}ssm:ssl:inter-node-private-keytls:lambda-fn-name b _hasNextNo Tags6Lcom/amazonaws/services/ec2/model/DescribeTagsRequest; instanceIdfiltersLjava/util/Collection; instanceListLjava/util/List;filter)Lcom/amazonaws/services/ec2/model/Filter;,Lcom/amazonaws/services/ec2/AmazonEC2Client; tagResult5Lcom/amazonaws/services/ec2/model/DescribeTagsResult;tag1Lcom/amazonaws/services/ec2/model/TagDescription;ALjava/util/Collection;$Ljava/util/List;getX509FromString8(Ljava/lang/String;)Ljava/security/cert/X509Certificate;-----BEGIN CERTIFICATE-----  replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;-----END CERTIFICATE-----\s+   replaceAll   getDecoderX509 %java/security/cert/CertificateFactory  getInstance;(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;java/io/ByteArrayInputStream   generateCertificate7(Ljava/io/InputStream;)Ljava/security/cert/Certificate;"java/security/cert/X509Certificateerror in getX509 s'java/security/cert/CertificateExceptioncertificateStringcertificateDatacf'Ljava/security/cert/CertificateFactory;)Ljava/security/cert/CertificateException; getPrivateKey.(Ljava/lang/String;)Ljava/security/PrivateKey;-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----&java/security/spec/PKCS8EncodedKeySpec RSA java/security/KeyFactory .(Ljava/lang/String;)Ljava/security/KeyFactory;  generatePrivate8(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey; s&java/security/GeneralSecurityExceptionerror in getPrivateKey&java/security/NoSuchAlgorithmException*java/security/spec/InvalidKeySpecExceptionpkeypkeyEncodedByteskeySpec(Ljava/security/spec/PKCS8EncodedKeySpec;kfLjava/security/KeyFactory;privkeyLjava/security/PrivateKey;(Ljava/security/GeneralSecurityException;getTlsArtifactsE()Lcom/amazonaws/services/elasticmapreduce/spi/security/TLSArtifacts;java/util/ArrayList      \FAcom/amazonaws/services/elasticmapreduce/spi/security/TLSArtifacts  =(Ljava/security/PrivateKey;Ljava/util/List;Ljava/util/List;)VcrtcrtCAtsCLcom/amazonaws/services/elasticmapreduce/spi/security/TLSArtifacts;2Ljava/util/List;java/security/PrivateKey SourceFile emrtls.java InnerClasses InstanceInfoDecoder!       n*** &*(+*-***026***82:***<2>***@2BDLFM*H*+*6K*,*:KO>KF MNQ!T-U9XEYQ\T]Wa[bdcmeP nQRTSWTJLUYWYL+\WOk lmPQR `aMN,bYdY+fgN-,j-m:pu{}qOxyz{|#}+P4,QR,,  \q N+::Y:WY:,NY*+SY*&SY-SY,S:WWY:  *+ȶ :  : Y ۷:  OF $-69ZfnwP QR -wZJw-    -w!945W vY+SMYN-*W-W-, WY:*+ȶ-:::Y::*+ :Teh"O:'-6BJQTejsP\ vQRv$h%`&6@'J,()Q%*T"+s,%h"/ %-Y/L0M3Y5NY,S6:@:-CW+-IMYO:*+ȶP+Q:U[:  ag:ilnqtn*ivn *q8ixn *q0izn *q@i|n *q<i~n *q Y u}Ov !/8=FRZ_z$P\ %QR !/FZz! n -D\<MVb, -D\<MVgb -D\<MVb -D\<MVI+L+MN-Y,Mu},89O.    ")9:CGP4IQRI"):yR+L+L+L+MY,Nʸ:-:M,ղuض}ABABO2 $ %&(&*/+7-?/B1C3G4P5PHRQRR&/7 ?CBEYLYM*<**>N+**BW,**:W,**BW***6N+**:W,**BWY-+,:O6 @AGH I/J>KMMPQYThUwZ[P>QR~v 0Y-~vP\\&!