12345678910111213141516171819202122232425262728293031323334 |
- package sys.ssl;
- private typedef PKEY = Dynamic;
- @:coreApi
- class Key {
-
- private var __k : PKEY;
- private function new( k : PKEY ){
- __k = k;
- }
-
- public static function loadFile( file : String, ?isPublic : Bool, ?pass : String ) : Key {
- var data = sys.io.File.getBytes( file );
- var str = neko.Lib.stringReference(data);
- if( str.indexOf("-----BEGIN ") >= 0 )
- return readPEM( str, isPublic==true, pass );
- else
- return readDER( data, isPublic==true );
- }
-
- public static function readPEM( data : String, isPublic : Bool, ?pass : String ) : Key {
- return new Key( key_from_pem( untyped data.__s, isPublic, pass == null ? null : untyped pass.__s ) );
- }
- public static function readDER( data : haxe.io.Bytes, isPublic : Bool ) : Key {
- return new Key( key_from_der( data.getData(), isPublic ) );
- }
- private static var key_from_pem = neko.Lib.loadLazy("ssl","key_from_pem",3);
- private static var key_from_der = neko.Lib.loadLazy("ssl","key_from_der",2);
- }
|